From 3829b28873ec9ca1020748e453e457847663e1d3 Mon Sep 17 00:00:00 2001 From: Andrea Bianco Date: Fri, 17 May 2019 12:29:51 +0200 Subject: [PATCH] Built motion from commit (unavailable).|2.0.81 --- apidoc/api_data.js | 2 +- apidoc/api_data.json | 2 +- apidoc/api_project.js | 2 +- apidoc/api_project.json | 2 +- package.json | 2 +- public/app/errors/404/i18n/he.json | 8 + public/app/errors/500/i18n/he.json | 11 + public/app/footer/i18n/he.json | 6 + public/app/forgot/i18n/he.json | 15 + public/app/header/i18n/he.json | 6 + public/app/login/i18n/he.json | 25 + public/app/main/apps/analytics/i18n/he.json | 88 + public/app/main/apps/callysquare/i18n/he.json | 210 ++ public/app/main/apps/chat/i18n/he.json | 436 ++++ public/app/main/apps/contactmanager/i18n/he.json | 167 ++ public/app/main/apps/dashboards/i18n/he.json | 317 +++ public/app/main/apps/dashboards/i18n/ja.json | 2 +- public/app/main/apps/fax/i18n/he.json | 250 ++ public/app/main/apps/help/i18n/he.json | 8 + public/app/main/apps/integrations/i18n/he.json | 187 ++ public/app/main/apps/jscripty/i18n/he.json | 226 ++ public/app/main/apps/jscripty/i18n/ja.json | 4 +- public/app/main/apps/mail/i18n/he.json | 312 +++ public/app/main/apps/marketplace/i18n/he.json | 51 + public/app/main/apps/motiondialer/i18n/he.json | 613 +++++ public/app/main/apps/motiondialer/i18n/ja.json | 18 +- public/app/main/apps/openchannel/i18n/he.json | 236 ++ public/app/main/apps/plugins/i18n/he.json | 7 + public/app/main/apps/settings/i18n/he.json | 194 ++ public/app/main/apps/settings/i18n/ja.json | 2 +- public/app/main/apps/sms/i18n/he.json | 258 ++ public/app/main/apps/staff/i18n/he.json | 282 ++ public/app/main/apps/staff/i18n/ja.json | 2 +- public/app/main/apps/tools/i18n/ar.json | 3 +- public/app/main/apps/tools/i18n/da.json | 3 +- public/app/main/apps/tools/i18n/de.json | 3 +- public/app/main/apps/tools/i18n/en.json | 1 + public/app/main/apps/tools/i18n/es.json | 3 +- public/app/main/apps/tools/i18n/fa.json | 3 +- public/app/main/apps/tools/i18n/fi.json | 3 +- public/app/main/apps/tools/i18n/fr.json | 3 +- public/app/main/apps/tools/i18n/he.json | 437 ++++ public/app/main/apps/tools/i18n/hi.json | 3 +- public/app/main/apps/tools/i18n/id.json | 3 +- public/app/main/apps/tools/i18n/it.json | 1 + public/app/main/apps/tools/i18n/ja.json | 21 +- public/app/main/apps/tools/i18n/ko.json | 3 +- public/app/main/apps/tools/i18n/lv.json | 3 +- public/app/main/apps/tools/i18n/nl.json | 3 +- public/app/main/apps/tools/i18n/no.json | 3 +- public/app/main/apps/tools/i18n/pl.json | 3 +- public/app/main/apps/tools/i18n/pt-PT.json | 3 +- public/app/main/apps/tools/i18n/ru.json | 3 +- public/app/main/apps/tools/i18n/sv.json | 3 +- public/app/main/apps/tools/i18n/tr.json | 3 +- public/app/main/apps/tools/i18n/zh-CN.json | 3 +- public/app/main/apps/tools/i18n/zh-TW.json | 3 +- public/app/main/apps/voice/i18n/he.json | 438 ++++ public/app/main/apps/voice/i18n/ja.json | 4 +- public/app/quick-panel/i18n/he.json | 73 + public/app/reset/i18n/he.json | 20 + public/app/toolbar/i18n/ar.json | 4 +- public/app/toolbar/i18n/da.json | 4 +- public/app/toolbar/i18n/de.json | 4 +- public/app/toolbar/i18n/en.json | 4 +- public/app/toolbar/i18n/es.json | 4 +- public/app/toolbar/i18n/fa.json | 4 +- public/app/toolbar/i18n/fi.json | 4 +- public/app/toolbar/i18n/fr.json | 4 +- public/app/toolbar/i18n/he.json | 92 + public/app/toolbar/i18n/hi.json | 4 +- public/app/toolbar/i18n/id.json | 4 +- public/app/toolbar/i18n/ja.json | 6 +- public/app/toolbar/i18n/ko.json | 4 +- public/app/toolbar/i18n/lv.json | 4 +- public/app/toolbar/i18n/nl.json | 4 +- public/app/toolbar/i18n/no.json | 4 +- public/app/toolbar/i18n/pl.json | 4 +- public/app/toolbar/i18n/pt-PT.json | 4 +- public/app/toolbar/i18n/ru.json | 4 +- public/app/toolbar/i18n/sv.json | 4 +- public/app/toolbar/i18n/tr.json | 4 +- public/app/toolbar/i18n/zh-CN.json | 4 +- public/app/toolbar/i18n/zh-TW.json | 4 +- public/assets/images/flags/he.png | Bin 0 -> 3317 bytes public/fonts/FontAwesome.otf | Bin 134808 -> 0 bytes public/fonts/fontawesome-webfont.eot | Bin 165742 -> 0 bytes public/fonts/fontawesome-webfont.svg | 2671 -------------------- public/fonts/fontawesome-webfont.ttf | Bin 165548 -> 0 bytes public/fonts/fontawesome-webfont.woff | Bin 98024 -> 0 bytes public/fonts/fontawesome-webfont.woff2 | Bin 77160 -> 0 bytes public/index.html | 8 +- public/scripts/app.0366ee25.js | 1 - public/scripts/app.56a54d99.js | 1 + public/scripts/vendor.5be52fae.js | 1 + public/scripts/vendor.cc921788.js | 1 - public/styles/app.0e15c6fc.css | 1 - public/styles/app.3e183adc.css | 1 + public/styles/vendor.27940d81.css | 10 - public/styles/vendor.dea5cf38.css | 10 + 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/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/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/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/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/images/logos/default_preferred.png | Bin 19702 -> 71236 bytes server/migrations/2.0.81.js | 199 ++ 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/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/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/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 +- server/services/ami/rpc/integrations/freshdesk.js | 2 +- server/services/ami/rpc/integrations/salesforce.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 +- .../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/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/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 +- 1079 files changed, 6306 insertions(+), 3740 deletions(-) create mode 100644 public/app/errors/404/i18n/he.json create mode 100644 public/app/errors/500/i18n/he.json create mode 100644 public/app/footer/i18n/he.json create mode 100644 public/app/forgot/i18n/he.json create mode 100644 public/app/header/i18n/he.json create mode 100644 public/app/login/i18n/he.json create mode 100644 public/app/main/apps/analytics/i18n/he.json create mode 100644 public/app/main/apps/callysquare/i18n/he.json create mode 100644 public/app/main/apps/chat/i18n/he.json create mode 100644 public/app/main/apps/contactmanager/i18n/he.json create mode 100644 public/app/main/apps/dashboards/i18n/he.json create mode 100644 public/app/main/apps/fax/i18n/he.json create mode 100644 public/app/main/apps/help/i18n/he.json create mode 100644 public/app/main/apps/integrations/i18n/he.json create mode 100644 public/app/main/apps/jscripty/i18n/he.json create mode 100644 public/app/main/apps/mail/i18n/he.json create mode 100644 public/app/main/apps/marketplace/i18n/he.json create mode 100644 public/app/main/apps/motiondialer/i18n/he.json create mode 100644 public/app/main/apps/openchannel/i18n/he.json create mode 100644 public/app/main/apps/plugins/i18n/he.json create mode 100644 public/app/main/apps/settings/i18n/he.json create mode 100644 public/app/main/apps/sms/i18n/he.json create mode 100644 public/app/main/apps/staff/i18n/he.json create mode 100644 public/app/main/apps/tools/i18n/he.json create mode 100644 public/app/main/apps/voice/i18n/he.json create mode 100644 public/app/quick-panel/i18n/he.json create mode 100644 public/app/reset/i18n/he.json create mode 100644 public/app/toolbar/i18n/he.json create mode 100644 public/assets/images/flags/he.png delete mode 100644 public/fonts/FontAwesome.otf delete mode 100644 public/fonts/fontawesome-webfont.eot delete mode 100644 public/fonts/fontawesome-webfont.svg delete mode 100644 public/fonts/fontawesome-webfont.ttf delete mode 100644 public/fonts/fontawesome-webfont.woff delete mode 100644 public/fonts/fontawesome-webfont.woff2 delete mode 100644 public/scripts/app.0366ee25.js create mode 100644 public/scripts/app.56a54d99.js create mode 100644 public/scripts/vendor.5be52fae.js delete mode 100644 public/scripts/vendor.cc921788.js delete mode 100644 public/styles/app.0e15c6fc.css create mode 100644 public/styles/app.3e183adc.css delete mode 100644 public/styles/vendor.27940d81.css create mode 100644 public/styles/vendor.dea5cf38.css create mode 100644 server/migrations/2.0.81.js diff --git a/apidoc/api_data.js b/apidoc/api_data.js index a78739a..8c4cc20 100644 --- a/apidoc/api_data.js +++ b/apidoc/api_data.js @@ -1 +1 @@ -define({ "api": [ { "type": "delete", "url": "/api/actions/{id}", "title": "Deletes a Action", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/actions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteActions", "group": "Actions", "description": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/analytics/custom_reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/analytics/custom_reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/analytics/custom_reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/analytics/custom_reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/analytics/custom_reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/analytics/default_reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/analytics/default_reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/analytics/default_reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/analytics/default_reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/analytics/default_reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/analytics/extracted_reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/analytics/extracted_reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/analytics/extracted_reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/analytics/extracted_reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/analytics/extracted_reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/analytics/field_reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/analytics/field_reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/analytics/field_reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/analytics/field_reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/analytics/field_reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/analytics/metrics?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/analytics/metrics?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/analytics/metrics?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/analytics/metrics?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/analytics/metrics?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/analytics/tree_reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/analytics/tree_reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/analytics/tree_reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/analytics/tree_reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/analytics/tree_reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/attachments?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/attachments?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/attachments?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/attachments?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/attachments?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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\": \"john.doe@xcally.com\"}' \\\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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/automations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/automations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/automations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/automations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/automations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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\": \"john.doe@xcally.com\", \"...\": \"...\"}]' \\ \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": "

Allowed values: contactManager, integration, motionbar, jscripty, urlForward, browser, bot

" }, { "group": "Body", "type": "String", "optional": true, "field": "data1", "description": "

contactManager[ListId], integration[intName(zendesk)], motionbar[Popup(0),URL(1),WinApp(2)], urlForward[GET,POST], browser[TemplateId(0),URL(1)]

" }, { "group": "Body", "type": "String", "optional": true, "field": "data2", "description": "

integration[AccountId], motionbar[TemplateId,URL,WinAppPath], urlForward[URL]

" }, { "group": "Body", "type": "String", "optional": true, "field": "data3", "description": "

motionbar[NULL,NULL,WinAppArguments]

" }, { "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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\": \"john.doe@xcally.com\", \"...\": \"...\"}]' \\ \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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/canned_answers?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/canned_answers?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/canned_answers?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/canned_answers?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/canned_answers?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/groups?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/groups?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/groups?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/groups?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/groups?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/interactions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/interactions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/interactions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/interactions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/interactions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

This API is used to set as abandon an interaction and stop the routing.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

This API is used to update an interaction.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/internal/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/internal/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/internal/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/internal/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/internal/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/offline_messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/offline_messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/offline_messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/offline_messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/offline_messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/reports/queue?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/reports/queue?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/reports/queue?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/reports/queue?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/reports/queue?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/queues?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/queues?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/queues?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/queues?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/queues?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/reports/transfer?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/reports/transfer?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/reports/transfer?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/reports/transfer?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/reports/transfer?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/websites?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/websites?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/websites?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/websites?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/websites?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

This API is used to create a new chat message to be sent to the system.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/companies?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/companies?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/companies?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/companies?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/companies?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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\": \"john.doe@xcally.com\", \"...\": \"...\"}]' \\ \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": "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": "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/contacts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/contacts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/contacts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/contacts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/contacts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/cmContact/index.js", "groupTitle": "Cm_Contacts" }, { "type": "delete", "url": "/api/cm/custom_fields/{id}", "title": "Deletes a Custom Field", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/cm/custom_fields/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteCustom_Fields", "group": "Cm_Custom_Fields", "description": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/custom_fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/custom_fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/custom_fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/custom_fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/custom_fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/hopper?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/hopper?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/hopper?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/hopper?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/hopper?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/hopper_black?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/hopper_black?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/hopper_black?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/hopper_black?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/hopper_black?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/hopper_final?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/hopper_final?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/hopper_final?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/hopper_final?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/hopper_final?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/hopper_history?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/hopper_history?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/hopper_history?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/hopper_history?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/hopper_history?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/lists?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/lists?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/lists?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/lists?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/lists?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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\": \"john.doe@xcally.com\", \"...\": \"...\"}]' \\ \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": "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": "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/condition/index.js", "groupTitle": "Conditions" }, { "type": "post", "url": "/api/cm/custom_field", "title": "Create a new custom field", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/cm/custom_field -d '{\"name\": \"mycf\", \"type\": \"text\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateCustomField", "group": "Custom_Fields", "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/cmCustomField/index.js", "groupTitle": "Custom_Fields" }, { "type": "post", "url": "/api/dashboards/items", "title": "Create dasboard item", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/dashboards/items \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "Create", "group": "Dashboard_Items", "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/dashboards?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/dashboards?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/dashboards?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/dashboards?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/dashboards?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/desk/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/desk/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/desk/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/desk/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/desk/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/desk/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/desk/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/desk/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/desk/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/desk/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/desk/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/desk/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/desk/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/desk/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/desk/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/dispositions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/dispositions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/dispositions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/dispositions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/dispositions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/disposition/index.js", "groupTitle": "Dispositions" }, { "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/applications?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/applications?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/applications?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/applications?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/applications?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/interactions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/interactions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/interactions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/interactions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/interactions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/reports/queue?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/reports/queue?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/reports/queue?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/reports/queue?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/reports/queue?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/queues?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/queues?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/queues?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/queues?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/queues?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/reports/transfer?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/reports/transfer?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/reports/transfer?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/reports/transfer?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/reports/transfer?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/freshdesk/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/freshdesk/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/freshdesk/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/freshdesk/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/freshdesk/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/freshdesk/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/freshdesk/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/freshdesk/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/freshdesk/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/freshdesk/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/freshdesk/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/freshdesk/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/freshdesk/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/freshdesk/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/freshdesk/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Active/Disactive Campaign

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "limitCalls", "description": "

Max 200 calls.

" }, { "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": "

Originate Timeout Seconds (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialCongestionMaxRetry", "description": "

#Congestion Retry (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialCongestionRetryFrequency", "description": "

Congestion Retry Frequency Minutes (min:1, max:99999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialBusyMaxRetry", "description": "

#Busy Retry (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialBusyRetryFrequency", "description": "

Busy Retry Frequency Minutes (min:1, max:99999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialNoAnswerMaxRetry", "description": "

#NoAnswer Retry (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialNoAnswerRetryFrequency", "description": "

NoAnswer Retry Frequency Minutes (min:1, max:99999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialGlobalMaxRetry", "description": "

#Global Max Retry (min:1, max:999)

" }, { "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": "

Active/Disactive AMD

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDInitialSilence", "description": "

#AMD Initial Silence

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDGreeting", "description": "

#AMD Greeting

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDAfterGreetingSilence", "description": "

#AMD After Greeting Silence

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDTotalAnalysisTime", "description": "

#AMD Total Analysis Time

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDMinWordLength", "description": "

#AMD Min Word Length

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDBetweenWordsSilence", "description": "

#AMD Between Words Silence

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDMaximumNumberOfWords", "description": "

#AMD Maximum Number Of Words

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDSilenceThreshold", "description": "

#AMD Silence Threshold (min:0, max:32767)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDMaximumWordLength", "description": "

#AMD Maximum Word Length

" }, { "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": "

Random Last Digit (min:1, max:15)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialCutDigit", "description": "

Cut Digit (min:1, max:15)

" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/campaigns?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/campaigns?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/campaigns?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/campaigns?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/campaigns?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/intervals?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/intervals?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/intervals?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/intervals?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/intervals?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/jscripty/answers/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/jscripty/answers/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/jscripty/answers/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/jscripty/answers/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/jscripty/answers/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/jscripty/questions/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/jscripty/questions/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/jscripty/questions/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/jscripty/questions/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/jscripty/questions/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/jscripty/sessions/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/jscripty/sessions/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/jscripty/sessions/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/jscripty/sessions/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/jscripty/sessions/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/jscripty/projects?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/jscripty/projects?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/jscripty/projects?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/jscripty/projects?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/jscripty/projects?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "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": "String", "optional": true, "field": "lastMsgBody", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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\" '}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "sendMail", "group": "Mail_Accounts", "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "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": "String", "optional": true, "field": "lastMsgBody", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/interactions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/interactions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/interactions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/interactions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/interactions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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\": \"sales@xcally.com\", \"...\": \"...\"}]' \\ \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": "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/reports/queue?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/reports/queue?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/reports/queue?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/reports/queue?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/reports/queue?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/queues?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/queues?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/queues?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/queues?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/queues?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/out_servers?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/out_servers?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/out_servers?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/out_servers?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/out_servers?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/substatuses?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/substatuses?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/substatuses?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/substatuses?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/substatuses?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/reports/transfer?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/reports/transfer?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/reports/transfer?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/reports/transfer?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/reports/transfer?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/members/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/members/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/members/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/members/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/members/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/migrations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/migrations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/migrations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/migrations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/migrations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/networks?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/networks?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/networks?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/networks?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/networks?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

Follow this link to check the documentation:

https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/applications?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/applications?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/applications?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/applications?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/applications?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/interactions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/interactions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/interactions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/interactions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/interactions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/reports/queue?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/reports/queue?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/reports/queue?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/reports/queue?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/reports/queue?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/queues?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/queues?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/queues?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/queues?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/queues?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/reports/transfer?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/reports/transfer?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/reports/transfer?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/reports/transfer?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/reports/transfer?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/pauses?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/pauses?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/pauses?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/pauses?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/pauses?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/plugins?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/plugins?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/plugins?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/plugins?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/plugins?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion returns the pm2 processes list.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime campaigns parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime fax account parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return the current agent capacity.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime agents parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime chat queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime fax queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime mail account parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime mail queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime openchannel queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime outbound channels.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime sms queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of telephones parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime trunks parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime voice channel mixmonitor.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime voice channel stopmixmonitor.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime voice channels.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a specific realtime voice queue channel.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will hangup a specific realtime voice queue channel.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will redirect a specific realtime voice queue channel to a specific extension.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a specific preview contact.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime outbound parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime voice queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime voice queues channels.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Notify message to a specific agent.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Notify message to a specific queue.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime waiting chat queues interctions.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Notify message to a specific queue.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime waiting fax queues interctions.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Notify message to a specific queue.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime waiting mail queues interctions.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Notify message to a specific queue.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime waiting openchannel queues interctions.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Notify message to a specific queue.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime waiting sms queues interctions.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/salesforce/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/salesforce/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/salesforce/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/salesforce/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/salesforce/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": [ "\"contact_lead\"", "\"contact\"", "\"lead\"" ], "optional": true, "field": "moduleSearch", "description": "" }, { "group": "Body", "type": "String", "allowedValues": [ "\"nothing\"", "\"contact\"", "\"lead\"" ], "optional": true, "field": "moduleCreate", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/salesforce/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/salesforce/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/salesforce/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/salesforce/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/salesforce/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/salesforce/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/salesforce/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/salesforce/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/salesforce/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/salesforce/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/schedules?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/schedules?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/schedules?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/schedules?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/schedules?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/schedule/index.js", "groupTitle": "Schedules" }, { "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/settings?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/settings?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/settings?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/settings?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/settings?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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\"" ], "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": [ "\"basic\"", "\"classic\"", "\"classic+\"" ], "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": "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

This API is used to create a new sms message to be sent to the system.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/smsMessage/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 \\ \n -H 'Content-Type: application/json' -v -X POST", "type": "json" } ], "name": "statusMessage", "group": "Sms_Accounts", "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/smsAccount/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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/applications?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/applications?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/applications?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/applications?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/applications?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/interactions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/interactions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/interactions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/interactions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/interactions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/reports/queue?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/reports/queue?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/reports/queue?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/reports/queue?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/reports/queue?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/queues?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/queues?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/queues?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/queues?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/queues?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/reports/transfer?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/reports/transfer?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/reports/transfer?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/reports/transfer?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/reports/transfer?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sounds?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sounds?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sounds?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sounds?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sounds?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/square/details/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/square/details/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/square/details/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/square/details/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/square/details/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/square/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/square/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/square/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/square/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/square/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/square/odbc?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/square/odbc?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/square/odbc?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/square/odbc?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/square/odbc?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/square/projects?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/square/projects?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/square/projects?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/square/projects?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/square/projects?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/square/recordings?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/square/recordings?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/square/recordings?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/square/recordings?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/square/recordings?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/square/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/square/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/square/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/square/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/square/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/sugarcrm/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/sugarcrm/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/sugarcrm/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/sugarcrm/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/sugarcrm/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/sugarcrm/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/sugarcrm/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/sugarcrm/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/sugarcrm/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/sugarcrm/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/sugarcrm/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/sugarcrm/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/sugarcrm/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/sugarcrm/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/sugarcrm/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion returns the system information.

", "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": "

Motion returns the system information.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/tags?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/tags?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/tags?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/tags?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/tags?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/teams?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/teams?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/teams?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/teams?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/teams?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/mailQueue/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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/voiceQueue/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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/smsQueue/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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/faxQueue/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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/chatQueue/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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/templates?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/templates?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/templates?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/templates?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/templates?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/triggers?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/triggers?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/triggers?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/triggers?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/triggers?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Allowed values: contactManager, integration, motionbar, jscripty, urlForward, browser, bot

" }, { "group": "Body", "type": "String", "optional": true, "field": "data1", "description": "

contactManager[ListId], integration[intName(zendesk)], motionbar[Popup(0),URL(1),WinApp(2)], urlForward[GET,POST], browser[TemplateId(0),URL(1)]

" }, { "group": "Body", "type": "String", "optional": true, "field": "data2", "description": "

integration[AccountId], motionbar[TemplateId,URL,WinAppPath], urlForward[URL]

" }, { "group": "Body", "type": "String", "optional": true, "field": "data3", "description": "

motionbar[NULL,NULL,WinAppArguments]

" }, { "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

String is deprecated. Please use an Array as ["udp", "tcp"]

" }, { "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": "

String is deprecated. Please use an Array as ["force_rport", "comedia"]

" }, { "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": "

String is deprecated. Please use an Array as ["ulaw", "alaw", "alaw"]

" }, { "group": "Body", "type": "String", "allowedValues": [ "\"yes\"", "\"no\"" ], "optional": true, "field": "autoframing", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "insecure", "description": "

String is deprecated. Please use an Array as ["port", "invite"]

" }, { "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/trunks?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/trunks?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/trunks?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/trunks?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/trunks?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/trunk/index.js", "groupTitle": "Trunks" }, { "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

The name of the user

" }, { "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": "

String is deprecated. Please use an Array as ["udp", "tcp"]

" }, { "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": "

String is deprecated. Please use an Array as ["force_rport", "comedia"]

" }, { "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": "

String is deprecated. Please use an Array as ["ulaw", "alaw", "gsm"]

" }, { "group": "Body", "type": "String", "allowedValues": [ "\"yes\"", "\"no\"" ], "optional": true, "field": "autoframing", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "insecure", "description": "

String is deprecated. Please use an Array as ["port", "invite"]

" }, { "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": "phoneBarEnableVideoRecording", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/users?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/users?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/users?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/users?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/users?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/variables?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/variables?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/variables?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/variables?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/variables?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion run the following command: git fetch origin master

", "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": "

Motion returns the current and latest motion version.

", "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": "

Motion launch the database migrations, according to the application version

", "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": "

Motion run the following command: git pull

", "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": "

Motion run the following command: git reset --hard FETCH_HEAD

", "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": "

Motion run the following command: pm2 restart motion

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/agents/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/agents/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/agents/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/agents/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/agents/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/calls/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/calls/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/calls/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/calls/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/calls/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/chanspy?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/chanspy?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/chanspy?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/chanspy?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/chanspy?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/contexts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/contexts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/contexts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/contexts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/contexts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/dials/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/dials/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/dials/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/dials/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/dials/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/extensions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/extensions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/extensions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/extensions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/extensions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/mohs?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/mohs?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/mohs?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/mohs?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/mohs?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "name", "description": "" }, { "group": "Body", "type": "Integer", "optional": false, "field": "maxsecs", "description": "" }, { "group": "Body", "type": "Integer", "optional": false, "field": "maxmsg", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/mails?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/mails?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/mails?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/mails?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/mails?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/mails/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/mails/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/mails/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/mails/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/mails/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/prefixes?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/prefixes?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/prefixes?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/prefixes?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/prefixes?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/queues/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/queues/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/queues/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/queues/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/queues/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Active/Disactive Campaign

" }, { "group": "Body", "type": "String", "allowedValues": [ "\"preview\"", "\"progressive\"", "\"power\"", "\"predictive\"", "\"booked\"" ], "optional": true, "field": "dialMethod", "description": "

Dial Method.

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialLimitChannel", "description": "

Max 9999 channels, 0 means unlimited.

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialLimitQueue", "description": "

Max 9999 member in queue(min:1, max:9999), 0 means unlimited.

" }, { "group": "Body", "type": "Float", "optional": true, "field": "dialPowerLevel", "description": "

Power Level: Calls for agents (min:1, max:10).

" }, { "group": "Body", "type": "String", "allowedValues": [ "\"agentBusyFactor\"", "\"dropRate\"" ], "optional": true, "field": "dialPredictiveOptimization", "description": "

Only for predictive method.

" }, { "group": "Body", "type": "Float", "optional": true, "field": "dialPredictiveOptimizationPercentage", "description": "

Predictive Optimization Percentage (min: 1, max: 95)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialPredictiveInterval", "description": "

Interval Predictive Minutes (min:5 max:30)

" }, { "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": "

Originate Timeout Seconds (min:1, max:999)

" }, { "group": "Body", "type": "String", "optional": true, "field": "dialQueueOptions", "description": "

https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Application_Queue

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialQueueTimeout", "description": "

Queue Timeout Seconds (min:1, max:999)

" }, { "group": "Body", "type": "String", "optional": true, "field": "dialQueueProject", "description": "

AGI queue option (use: agi://127.0.0.1/square,<project_name>)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialCongestionMaxRetry", "description": "

#Congestion Retry (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialCongestionRetryFrequency", "description": "

Congestion Retry Frequency Minutes (min:1, max:99999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialBusyMaxRetry", "description": "

#Busy Retry (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialBusyRetryFrequency", "description": "

Busy Retry Frequency Minutes (min:1, max:99999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialNoAnswerMaxRetry", "description": "

#NoAnswer Retry (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialNoAnswerRetryFrequency", "description": "

NoAnswer Retry Frequency Minutes (min:1, max:99999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialGlobalMaxRetry", "description": "

#Global Max Retry (min:1, max:999)

" }, { "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": "

Active/Disactive AMD

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDInitialSilence", "description": "

#AMD Initial Silence

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDGreeting", "description": "

#AMD Greeting

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDAfterGreetingSilence", "description": "

#AMD After Greeting Silence

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDTotalAnalysisTime", "description": "

#AMD Total Analysis Time

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDMinWordLength", "description": "

#AMD Min Word Length

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDBetweenWordsSilence", "description": "

#AMD Between Words Silence

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDMaximumNumberOfWords", "description": "

#AMD Maximum Number Of Words

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDSilenceThreshold", "description": "

#AMD Silence Threshold (min:0, max:32767)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDMaximumWordLength", "description": "

#AMD Maximum Word Length

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialRecallMeTimeout", "description": "

#RecallMe Timeout (min:1)

" }, { "group": "Body", "type": "Boolean", "optional": true, "field": "dialRecallInQueue", "description": "

Active/Disactive Recall In Queue

" }, { "group": "Body", "type": "String", "allowedValues": [ "\"DESC\"", "\"ASC\"" ], "optional": true, "field": "dialOrderByScheduledAt", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "dialQueueProject2", "description": "

AGI queue option (use: agi://127.0.0.1/square,<project_name>)

" }, { "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": "

Random Last Digit (min:1, max:15)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialCutDigit", "description": "

Cut Digit (min:1, max:15)

" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/queues?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/queues?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/queues?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/queues?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/queues?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/recordings?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/recordings?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/recordings?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/recordings?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/recordings?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/transfers/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/transfers/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/transfers/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/transfers/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/transfers/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/vtiger/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/vtiger/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/vtiger/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/vtiger/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/vtiger/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/vtiger/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/vtiger/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/vtiger/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/vtiger/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/vtiger/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/vtiger/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/vtiger/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/vtiger/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/vtiger/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/vtiger/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/zendesk/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/zendesk/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/zendesk/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/zendesk/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/zendesk/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/zendesk/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/zendesk/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/zendesk/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/zendesk/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/zendesk/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/zendesk/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/zendesk/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/zendesk/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/zendesk/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/zendesk/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/zoho/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/zoho/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/zoho/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/zoho/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/zoho/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/zoho/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/zoho/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/zoho/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/zoho/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/zoho/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/zoho/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/zoho/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/zoho/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/zoho/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/zoho/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cdr?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cdr?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cdr?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cdr?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cdr?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voiceQueuesLog?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voiceQueuesLog?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voiceQueuesLog?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voiceQueuesLog?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voiceQueuesLog?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/analytics/custom_reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/analytics/custom_reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/analytics/custom_reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/analytics/custom_reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/analytics/custom_reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/analytics/default_reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/analytics/default_reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/analytics/default_reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/analytics/default_reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/analytics/default_reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/analytics/extracted_reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/analytics/extracted_reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/analytics/extracted_reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/analytics/extracted_reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/analytics/extracted_reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/analytics/field_reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/analytics/field_reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/analytics/field_reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/analytics/field_reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/analytics/field_reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/analytics/metrics?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/analytics/metrics?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/analytics/metrics?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/analytics/metrics?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/analytics/metrics?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/analytics/tree_reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/analytics/tree_reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/analytics/tree_reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/analytics/tree_reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/analytics/tree_reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/attachments?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/attachments?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/attachments?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/attachments?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/attachments?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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\": \"john.doe@xcally.com\"}' \\\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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/automations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/automations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/automations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/automations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/automations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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\": \"john.doe@xcally.com\", \"...\": \"...\"}]' \\ \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": "

Allowed values: contactManager, integration, motionbar, jscripty, urlForward, browser, bot

" }, { "group": "Body", "type": "String", "optional": true, "field": "data1", "description": "

contactManager[ListId], integration[intName(zendesk)], motionbar[Popup(0),URL(1),WinApp(2)], urlForward[GET,POST], browser[TemplateId(0),URL(1)]

" }, { "group": "Body", "type": "String", "optional": true, "field": "data2", "description": "

integration[AccountId], motionbar[TemplateId,URL,WinAppPath], urlForward[URL]

" }, { "group": "Body", "type": "String", "optional": true, "field": "data3", "description": "

motionbar[NULL,NULL,WinAppArguments]

" }, { "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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\": \"john.doe@xcally.com\", \"...\": \"...\"}]' \\ \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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/canned_answers?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/canned_answers?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/canned_answers?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/canned_answers?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/canned_answers?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/groups?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/groups?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/groups?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/groups?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/groups?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/interactions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/interactions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/interactions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/interactions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/interactions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

This API is used to set as abandon an interaction and stop the routing.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

This API is used to update an interaction.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/internal/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/internal/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/internal/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/internal/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/internal/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/offline_messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/offline_messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/offline_messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/offline_messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/offline_messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/reports/queue?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/reports/queue?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/reports/queue?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/reports/queue?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/reports/queue?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/queues?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/queues?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/queues?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/queues?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/queues?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/reports/transfer?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/reports/transfer?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/reports/transfer?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/reports/transfer?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/reports/transfer?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/websites?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/websites?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/websites?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/websites?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/websites?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

This API is used to create a new chat message to be sent to the system.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/companies?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/companies?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/companies?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/companies?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/companies?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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\": \"john.doe@xcally.com\", \"...\": \"...\"}]' \\ \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": "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/contacts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/contacts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/contacts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/contacts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/contacts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/cmContact/index.js", "groupTitle": "Cm_Contacts" }, { "type": "delete", "url": "/api/cm/custom_fields/{id}", "title": "Deletes a Custom Field", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/cm/custom_fields/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteCustom_Fields", "group": "Cm_Custom_Fields", "description": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/custom_fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/custom_fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/custom_fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/custom_fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/custom_fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/hopper?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/hopper?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/hopper?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/hopper?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/hopper?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/hopper_black?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/hopper_black?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/hopper_black?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/hopper_black?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/hopper_black?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/hopper_final?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/hopper_final?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/hopper_final?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/hopper_final?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/hopper_final?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/hopper_history?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/hopper_history?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/hopper_history?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/hopper_history?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/hopper_history?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/lists?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/lists?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/lists?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/lists?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/lists?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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\": \"john.doe@xcally.com\", \"...\": \"...\"}]' \\ \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": "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/condition/index.js", "groupTitle": "Conditions" }, { "type": "post", "url": "/api/cm/custom_field", "title": "Create a new custom field", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/cm/custom_field -d '{\"name\": \"mycf\", \"type\": \"text\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateCustomField", "group": "Custom_Fields", "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/cmCustomField/index.js", "groupTitle": "Custom_Fields" }, { "type": "post", "url": "/api/dashboards/items", "title": "Create dasboard item", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/dashboards/items \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "Create", "group": "Dashboard_Items", "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/dashboards?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/dashboards?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/dashboards?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/dashboards?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/dashboards?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/desk/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/desk/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/desk/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/desk/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/desk/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/desk/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/desk/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/desk/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/desk/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/desk/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/desk/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/desk/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/desk/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/desk/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/desk/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/dispositions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/dispositions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/dispositions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/dispositions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/dispositions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/disposition/index.js", "groupTitle": "Dispositions" }, { "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/applications?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/applications?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/applications?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/applications?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/applications?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/interactions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/interactions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/interactions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/interactions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/interactions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/reports/queue?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/reports/queue?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/reports/queue?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/reports/queue?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/reports/queue?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/queues?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/queues?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/queues?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/queues?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/queues?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/reports/transfer?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/reports/transfer?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/reports/transfer?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/reports/transfer?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/reports/transfer?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/freshdesk/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/freshdesk/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/freshdesk/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/freshdesk/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/freshdesk/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/freshdesk/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/freshdesk/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/freshdesk/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/freshdesk/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/freshdesk/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/freshdesk/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/freshdesk/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/freshdesk/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/freshdesk/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/freshdesk/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Active/Disactive Campaign

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "limitCalls", "description": "

Max 200 calls.

" }, { "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": "

Originate Timeout Seconds (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialCongestionMaxRetry", "description": "

#Congestion Retry (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialCongestionRetryFrequency", "description": "

Congestion Retry Frequency Minutes (min:1, max:99999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialBusyMaxRetry", "description": "

#Busy Retry (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialBusyRetryFrequency", "description": "

Busy Retry Frequency Minutes (min:1, max:99999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialNoAnswerMaxRetry", "description": "

#NoAnswer Retry (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialNoAnswerRetryFrequency", "description": "

NoAnswer Retry Frequency Minutes (min:1, max:99999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialGlobalMaxRetry", "description": "

#Global Max Retry (min:1, max:999)

" }, { "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": "

Active/Disactive AMD

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDInitialSilence", "description": "

#AMD Initial Silence

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDGreeting", "description": "

#AMD Greeting

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDAfterGreetingSilence", "description": "

#AMD After Greeting Silence

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDTotalAnalysisTime", "description": "

#AMD Total Analysis Time

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDMinWordLength", "description": "

#AMD Min Word Length

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDBetweenWordsSilence", "description": "

#AMD Between Words Silence

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDMaximumNumberOfWords", "description": "

#AMD Maximum Number Of Words

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDSilenceThreshold", "description": "

#AMD Silence Threshold (min:0, max:32767)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDMaximumWordLength", "description": "

#AMD Maximum Word Length

" }, { "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": "

Random Last Digit (min:1, max:15)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialCutDigit", "description": "

Cut Digit (min:1, max:15)

" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/campaigns?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/campaigns?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/campaigns?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/campaigns?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/campaigns?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/intervals?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/intervals?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/intervals?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/intervals?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/intervals?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/jscripty/answers/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/jscripty/answers/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/jscripty/answers/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/jscripty/answers/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/jscripty/answers/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/jscripty/questions/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/jscripty/questions/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/jscripty/questions/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/jscripty/questions/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/jscripty/questions/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/jscripty/sessions/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/jscripty/sessions/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/jscripty/sessions/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/jscripty/sessions/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/jscripty/sessions/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/jscripty/projects?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/jscripty/projects?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/jscripty/projects?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/jscripty/projects?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/jscripty/projects?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "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": "String", "optional": true, "field": "lastMsgBody", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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\" '}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "sendMail", "group": "Mail_Accounts", "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "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": "String", "optional": true, "field": "lastMsgBody", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/interactions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/interactions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/interactions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/interactions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/interactions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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\": \"sales@xcally.com\", \"...\": \"...\"}]' \\ \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": "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/reports/queue?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/reports/queue?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/reports/queue?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/reports/queue?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/reports/queue?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/queues?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/queues?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/queues?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/queues?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/queues?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/out_servers?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/out_servers?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/out_servers?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/out_servers?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/out_servers?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/substatuses?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/substatuses?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/substatuses?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/substatuses?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/substatuses?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/reports/transfer?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/reports/transfer?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/reports/transfer?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/reports/transfer?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/reports/transfer?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/members/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/members/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/members/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/members/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/members/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/migrations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/migrations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/migrations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/migrations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/migrations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/networks?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/networks?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/networks?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/networks?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/networks?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

Follow this link to check the documentation:

https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/applications?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/applications?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/applications?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/applications?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/applications?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/interactions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/interactions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/interactions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/interactions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/interactions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/reports/queue?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/reports/queue?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/reports/queue?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/reports/queue?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/reports/queue?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/queues?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/queues?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/queues?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/queues?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/queues?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/reports/transfer?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/reports/transfer?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/reports/transfer?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/reports/transfer?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/reports/transfer?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/pauses?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/pauses?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/pauses?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/pauses?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/pauses?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/plugins?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/plugins?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/plugins?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/plugins?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/plugins?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion returns the pm2 processes list.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime campaigns parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime fax account parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return the current agent capacity.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime agents parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime chat queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime fax queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime mail account parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime mail queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime openchannel queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime outbound channels.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime sms queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of telephones parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime trunks parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime voice channel mixmonitor.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime voice channel stopmixmonitor.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime voice channels.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a specific realtime voice queue channel.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will hangup a specific realtime voice queue channel.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will redirect a specific realtime voice queue channel to a specific extension.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a specific preview contact.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime outbound parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime voice queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime voice queues channels.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Notify message to a specific agent.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Notify message to a specific queue.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime waiting chat queues interctions.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Notify message to a specific queue.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime waiting fax queues interctions.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Notify message to a specific queue.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime waiting mail queues interctions.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Notify message to a specific queue.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime waiting openchannel queues interctions.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Notify message to a specific queue.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime waiting sms queues interctions.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/salesforce/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/salesforce/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/salesforce/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/salesforce/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/salesforce/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": [ "\"contact_lead\"", "\"contact\"", "\"lead\"" ], "optional": true, "field": "moduleSearch", "description": "" }, { "group": "Body", "type": "String", "allowedValues": [ "\"nothing\"", "\"contact\"", "\"lead\"" ], "optional": true, "field": "moduleCreate", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/salesforce/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/salesforce/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/salesforce/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/salesforce/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/salesforce/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/salesforce/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/salesforce/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/salesforce/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/salesforce/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/salesforce/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/schedules?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/schedules?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/schedules?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/schedules?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/schedules?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/schedule/index.js", "groupTitle": "Schedules" }, { "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/settings?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/settings?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/settings?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/settings?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/settings?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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\"" ], "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": "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

This API is used to create a new sms message to be sent to the system.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/smsMessage/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 \\ \n -H 'Content-Type: application/json' -v -X POST", "type": "json" } ], "name": "statusMessage", "group": "Sms_Accounts", "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/smsAccount/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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/applications?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/applications?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/applications?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/applications?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/applications?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/interactions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/interactions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/interactions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/interactions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/interactions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/reports/queue?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/reports/queue?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/reports/queue?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/reports/queue?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/reports/queue?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/queues?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/queues?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/queues?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/queues?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/queues?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/reports/transfer?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/reports/transfer?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/reports/transfer?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/reports/transfer?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/reports/transfer?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sounds?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sounds?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sounds?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sounds?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sounds?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/square/details/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/square/details/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/square/details/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/square/details/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/square/details/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/square/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/square/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/square/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/square/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/square/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/square/odbc?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/square/odbc?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/square/odbc?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/square/odbc?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/square/odbc?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/square/projects?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/square/projects?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/square/projects?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/square/projects?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/square/projects?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/square/recordings?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/square/recordings?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/square/recordings?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/square/recordings?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/square/recordings?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/square/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/square/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/square/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/square/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/square/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/sugarcrm/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/sugarcrm/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/sugarcrm/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/sugarcrm/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/sugarcrm/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/sugarcrm/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/sugarcrm/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/sugarcrm/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/sugarcrm/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/sugarcrm/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/sugarcrm/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/sugarcrm/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/sugarcrm/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/sugarcrm/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/sugarcrm/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion returns the system information.

", "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": "

Motion returns the system information.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/tags?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/tags?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/tags?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/tags?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/tags?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/teams?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/teams?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/teams?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/teams?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/teams?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/mailQueue/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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/voiceQueue/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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/smsQueue/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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/faxQueue/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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/chatQueue/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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/templates?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/templates?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/templates?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/templates?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/templates?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/triggers?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/triggers?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/triggers?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/triggers?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/triggers?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Allowed values: contactManager, integration, motionbar, jscripty, urlForward, browser, bot

" }, { "group": "Body", "type": "String", "optional": true, "field": "data1", "description": "

contactManager[ListId], integration[intName(zendesk)], motionbar[Popup(0),URL(1),WinApp(2)], urlForward[GET,POST], browser[TemplateId(0),URL(1)]

" }, { "group": "Body", "type": "String", "optional": true, "field": "data2", "description": "

integration[AccountId], motionbar[TemplateId,URL,WinAppPath], urlForward[URL]

" }, { "group": "Body", "type": "String", "optional": true, "field": "data3", "description": "

motionbar[NULL,NULL,WinAppArguments]

" }, { "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

String is deprecated. Please use an Array as ["udp", "tcp"]

" }, { "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": "

String is deprecated. Please use an Array as ["force_rport", "comedia"]

" }, { "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": "

String is deprecated. Please use an Array as ["ulaw", "alaw", "alaw"]

" }, { "group": "Body", "type": "String", "allowedValues": [ "\"yes\"", "\"no\"" ], "optional": true, "field": "autoframing", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "insecure", "description": "

String is deprecated. Please use an Array as ["port", "invite"]

" }, { "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/trunks?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/trunks?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/trunks?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/trunks?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/trunks?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/trunk/index.js", "groupTitle": "Trunks" }, { "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

The name of the user

" }, { "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": "

String is deprecated. Please use an Array as ["udp", "tcp"]

" }, { "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": "

String is deprecated. Please use an Array as ["force_rport", "comedia"]

" }, { "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": "

String is deprecated. Please use an Array as ["ulaw", "alaw", "gsm"]

" }, { "group": "Body", "type": "String", "allowedValues": [ "\"yes\"", "\"no\"" ], "optional": true, "field": "autoframing", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "insecure", "description": "

String is deprecated. Please use an Array as ["port", "invite"]

" }, { "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": "phoneBarEnableVideoRecording", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/users?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/users?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/users?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/users?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/users?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/variables?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/variables?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/variables?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/variables?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/variables?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion run the following command: git fetch origin master

", "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": "

Motion returns the current and latest motion version.

", "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": "

Motion launch the database migrations, according to the application version

", "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": "

Motion run the following command: git pull

", "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": "

Motion run the following command: git reset --hard FETCH_HEAD

", "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": "

Motion run the following command: pm2 restart motion

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/agents/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/agents/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/agents/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/agents/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/agents/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/calls/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/calls/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/calls/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/calls/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/calls/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/chanspy?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/chanspy?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/chanspy?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/chanspy?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/chanspy?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/contexts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/contexts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/contexts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/contexts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/contexts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/dials/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/dials/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/dials/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/dials/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/dials/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/extensions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/extensions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/extensions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/extensions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/extensions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/mohs?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/mohs?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/mohs?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/mohs?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/mohs?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "name", "description": "" }, { "group": "Body", "type": "Integer", "optional": false, "field": "maxsecs", "description": "" }, { "group": "Body", "type": "Integer", "optional": false, "field": "maxmsg", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/mails?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/mails?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/mails?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/mails?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/mails?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/mails/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/mails/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/mails/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/mails/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/mails/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/prefixes?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/prefixes?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/prefixes?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/prefixes?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/prefixes?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/queues/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/queues/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/queues/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/queues/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/queues/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Active/Disactive Campaign

" }, { "group": "Body", "type": "String", "allowedValues": [ "\"preview\"", "\"progressive\"", "\"power\"", "\"predictive\"", "\"booked\"" ], "optional": true, "field": "dialMethod", "description": "

Dial Method.

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialLimitChannel", "description": "

Max 9999 channels, 0 means unlimited.

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialLimitQueue", "description": "

Max 9999 member in queue(min:1, max:9999), 0 means unlimited.

" }, { "group": "Body", "type": "Float", "optional": true, "field": "dialPowerLevel", "description": "

Power Level: Calls for agents (min:1, max:10).

" }, { "group": "Body", "type": "String", "allowedValues": [ "\"agentBusyFactor\"", "\"dropRate\"" ], "optional": true, "field": "dialPredictiveOptimization", "description": "

Only for predictive method.

" }, { "group": "Body", "type": "Float", "optional": true, "field": "dialPredictiveOptimizationPercentage", "description": "

Predictive Optimization Percentage (min: 1, max: 95)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialPredictiveInterval", "description": "

Interval Predictive Minutes (min:5 max:30)

" }, { "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": "

Originate Timeout Seconds (min:1, max:999)

" }, { "group": "Body", "type": "String", "optional": true, "field": "dialQueueOptions", "description": "

https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Application_Queue

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialQueueTimeout", "description": "

Queue Timeout Seconds (min:1, max:999)

" }, { "group": "Body", "type": "String", "optional": true, "field": "dialQueueProject", "description": "

AGI queue option (use: agi://127.0.0.1/square,<project_name>)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialCongestionMaxRetry", "description": "

#Congestion Retry (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialCongestionRetryFrequency", "description": "

Congestion Retry Frequency Minutes (min:1, max:99999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialBusyMaxRetry", "description": "

#Busy Retry (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialBusyRetryFrequency", "description": "

Busy Retry Frequency Minutes (min:1, max:99999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialNoAnswerMaxRetry", "description": "

#NoAnswer Retry (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialNoAnswerRetryFrequency", "description": "

NoAnswer Retry Frequency Minutes (min:1, max:99999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialGlobalMaxRetry", "description": "

#Global Max Retry (min:1, max:999)

" }, { "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": "

Active/Disactive AMD

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDInitialSilence", "description": "

#AMD Initial Silence

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDGreeting", "description": "

#AMD Greeting

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDAfterGreetingSilence", "description": "

#AMD After Greeting Silence

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDTotalAnalysisTime", "description": "

#AMD Total Analysis Time

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDMinWordLength", "description": "

#AMD Min Word Length

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDBetweenWordsSilence", "description": "

#AMD Between Words Silence

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDMaximumNumberOfWords", "description": "

#AMD Maximum Number Of Words

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDSilenceThreshold", "description": "

#AMD Silence Threshold (min:0, max:32767)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDMaximumWordLength", "description": "

#AMD Maximum Word Length

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialRecallMeTimeout", "description": "

#RecallMe Timeout (min:1)

" }, { "group": "Body", "type": "Boolean", "optional": true, "field": "dialRecallInQueue", "description": "

Active/Disactive Recall In Queue

" }, { "group": "Body", "type": "String", "allowedValues": [ "\"DESC\"", "\"ASC\"" ], "optional": true, "field": "dialOrderByScheduledAt", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "dialQueueProject2", "description": "

AGI queue option (use: agi://127.0.0.1/square,<project_name>)

" }, { "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": "

Random Last Digit (min:1, max:15)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialCutDigit", "description": "

Cut Digit (min:1, max:15)

" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/queues?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/queues?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/queues?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/queues?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/queues?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/recordings?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/recordings?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/recordings?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/recordings?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/recordings?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/transfers/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/transfers/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/transfers/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/transfers/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/transfers/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/vtiger/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/vtiger/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/vtiger/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/vtiger/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/vtiger/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/vtiger/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/vtiger/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/vtiger/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/vtiger/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/vtiger/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/vtiger/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/vtiger/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/vtiger/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/vtiger/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/vtiger/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/zendesk/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/zendesk/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/zendesk/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/zendesk/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/zendesk/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/zendesk/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/zendesk/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/zendesk/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/zendesk/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/zendesk/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/zendesk/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/zendesk/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/zendesk/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/zendesk/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/zendesk/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/zoho/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/zoho/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/zoho/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/zoho/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/zoho/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/zoho/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/zoho/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/zoho/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/zoho/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/zoho/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/zoho/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/zoho/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/zoho/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/zoho/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/zoho/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cdr?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cdr?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cdr?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cdr?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cdr?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voiceQueuesLog?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voiceQueuesLog?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voiceQueuesLog?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voiceQueuesLog?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voiceQueuesLog?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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 c6a381a..946de23 100644 --- a/apidoc/api_data.json +++ b/apidoc/api_data.json @@ -1 +1 @@ -[ { "type": "delete", "url": "/api/actions/{id}", "title": "Deletes a Action", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/actions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteActions", "group": "Actions", "description": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/analytics/custom_reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/analytics/custom_reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/analytics/custom_reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/analytics/custom_reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/analytics/custom_reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/analytics/default_reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/analytics/default_reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/analytics/default_reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/analytics/default_reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/analytics/default_reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/analytics/extracted_reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/analytics/extracted_reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/analytics/extracted_reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/analytics/extracted_reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/analytics/extracted_reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/analytics/field_reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/analytics/field_reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/analytics/field_reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/analytics/field_reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/analytics/field_reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/analytics/metrics?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/analytics/metrics?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/analytics/metrics?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/analytics/metrics?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/analytics/metrics?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/analytics/tree_reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/analytics/tree_reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/analytics/tree_reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/analytics/tree_reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/analytics/tree_reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/attachments?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/attachments?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/attachments?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/attachments?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/attachments?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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\": \"john.doe@xcally.com\"}' \\\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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/automations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/automations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/automations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/automations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/automations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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\": \"john.doe@xcally.com\", \"...\": \"...\"}]' \\ \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": "

Allowed values: contactManager, integration, motionbar, jscripty, urlForward, browser, bot

" }, { "group": "Body", "type": "String", "optional": true, "field": "data1", "description": "

contactManager[ListId], integration[intName(zendesk)], motionbar[Popup(0),URL(1),WinApp(2)], urlForward[GET,POST], browser[TemplateId(0),URL(1)]

" }, { "group": "Body", "type": "String", "optional": true, "field": "data2", "description": "

integration[AccountId], motionbar[TemplateId,URL,WinAppPath], urlForward[URL]

" }, { "group": "Body", "type": "String", "optional": true, "field": "data3", "description": "

motionbar[NULL,NULL,WinAppArguments]

" }, { "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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\": \"john.doe@xcally.com\", \"...\": \"...\"}]' \\ \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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/canned_answers?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/canned_answers?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/canned_answers?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/canned_answers?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/canned_answers?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/groups?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/groups?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/groups?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/groups?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/groups?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/interactions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/interactions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/interactions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/interactions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/interactions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

This API is used to set as abandon an interaction and stop the routing.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

This API is used to update an interaction.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/internal/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/internal/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/internal/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/internal/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/internal/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/offline_messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/offline_messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/offline_messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/offline_messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/offline_messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/reports/queue?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/reports/queue?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/reports/queue?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/reports/queue?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/reports/queue?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/queues?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/queues?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/queues?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/queues?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/queues?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/reports/transfer?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/reports/transfer?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/reports/transfer?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/reports/transfer?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/reports/transfer?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/websites?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/websites?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/websites?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/websites?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/websites?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

This API is used to create a new chat message to be sent to the system.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/companies?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/companies?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/companies?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/companies?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/companies?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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\": \"john.doe@xcally.com\", \"...\": \"...\"}]' \\ \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": "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": "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/contacts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/contacts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/contacts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/contacts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/contacts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/cmContact/index.js", "groupTitle": "Cm_Contacts" }, { "type": "delete", "url": "/api/cm/custom_fields/{id}", "title": "Deletes a Custom Field", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/cm/custom_fields/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteCustom_Fields", "group": "Cm_Custom_Fields", "description": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/custom_fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/custom_fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/custom_fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/custom_fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/custom_fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/hopper?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/hopper?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/hopper?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/hopper?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/hopper?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/hopper_black?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/hopper_black?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/hopper_black?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/hopper_black?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/hopper_black?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/hopper_final?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/hopper_final?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/hopper_final?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/hopper_final?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/hopper_final?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/hopper_history?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/hopper_history?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/hopper_history?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/hopper_history?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/hopper_history?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/lists?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/lists?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/lists?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/lists?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/lists?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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\": \"john.doe@xcally.com\", \"...\": \"...\"}]' \\ \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": "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": "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/condition/index.js", "groupTitle": "Conditions" }, { "type": "post", "url": "/api/cm/custom_field", "title": "Create a new custom field", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/cm/custom_field -d '{\"name\": \"mycf\", \"type\": \"text\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateCustomField", "group": "Custom_Fields", "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/cmCustomField/index.js", "groupTitle": "Custom_Fields" }, { "type": "post", "url": "/api/dashboards/items", "title": "Create dasboard item", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/dashboards/items \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "Create", "group": "Dashboard_Items", "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/dashboards?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/dashboards?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/dashboards?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/dashboards?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/dashboards?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/desk/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/desk/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/desk/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/desk/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/desk/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/desk/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/desk/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/desk/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/desk/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/desk/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/desk/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/desk/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/desk/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/desk/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/desk/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/dispositions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/dispositions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/dispositions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/dispositions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/dispositions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/disposition/index.js", "groupTitle": "Dispositions" }, { "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/applications?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/applications?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/applications?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/applications?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/applications?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/interactions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/interactions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/interactions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/interactions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/interactions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/reports/queue?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/reports/queue?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/reports/queue?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/reports/queue?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/reports/queue?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/queues?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/queues?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/queues?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/queues?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/queues?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/reports/transfer?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/reports/transfer?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/reports/transfer?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/reports/transfer?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/reports/transfer?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/freshdesk/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/freshdesk/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/freshdesk/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/freshdesk/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/freshdesk/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/freshdesk/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/freshdesk/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/freshdesk/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/freshdesk/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/freshdesk/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/freshdesk/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/freshdesk/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/freshdesk/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/freshdesk/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/freshdesk/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Active/Disactive Campaign

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "limitCalls", "description": "

Max 200 calls.

" }, { "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": "

Originate Timeout Seconds (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialCongestionMaxRetry", "description": "

#Congestion Retry (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialCongestionRetryFrequency", "description": "

Congestion Retry Frequency Minutes (min:1, max:99999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialBusyMaxRetry", "description": "

#Busy Retry (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialBusyRetryFrequency", "description": "

Busy Retry Frequency Minutes (min:1, max:99999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialNoAnswerMaxRetry", "description": "

#NoAnswer Retry (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialNoAnswerRetryFrequency", "description": "

NoAnswer Retry Frequency Minutes (min:1, max:99999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialGlobalMaxRetry", "description": "

#Global Max Retry (min:1, max:999)

" }, { "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": "

Active/Disactive AMD

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDInitialSilence", "description": "

#AMD Initial Silence

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDGreeting", "description": "

#AMD Greeting

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDAfterGreetingSilence", "description": "

#AMD After Greeting Silence

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDTotalAnalysisTime", "description": "

#AMD Total Analysis Time

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDMinWordLength", "description": "

#AMD Min Word Length

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDBetweenWordsSilence", "description": "

#AMD Between Words Silence

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDMaximumNumberOfWords", "description": "

#AMD Maximum Number Of Words

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDSilenceThreshold", "description": "

#AMD Silence Threshold (min:0, max:32767)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDMaximumWordLength", "description": "

#AMD Maximum Word Length

" }, { "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": "

Random Last Digit (min:1, max:15)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialCutDigit", "description": "

Cut Digit (min:1, max:15)

" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/campaigns?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/campaigns?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/campaigns?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/campaigns?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/campaigns?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/intervals?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/intervals?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/intervals?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/intervals?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/intervals?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/jscripty/answers/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/jscripty/answers/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/jscripty/answers/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/jscripty/answers/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/jscripty/answers/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/jscripty/questions/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/jscripty/questions/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/jscripty/questions/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/jscripty/questions/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/jscripty/questions/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/jscripty/sessions/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/jscripty/sessions/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/jscripty/sessions/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/jscripty/sessions/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/jscripty/sessions/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/jscripty/projects?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/jscripty/projects?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/jscripty/projects?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/jscripty/projects?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/jscripty/projects?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "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": "String", "optional": true, "field": "lastMsgBody", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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\" '}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "sendMail", "group": "Mail_Accounts", "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "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": "String", "optional": true, "field": "lastMsgBody", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/interactions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/interactions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/interactions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/interactions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/interactions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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\": \"sales@xcally.com\", \"...\": \"...\"}]' \\ \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": "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/reports/queue?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/reports/queue?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/reports/queue?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/reports/queue?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/reports/queue?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/queues?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/queues?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/queues?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/queues?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/queues?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/out_servers?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/out_servers?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/out_servers?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/out_servers?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/out_servers?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/substatuses?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/substatuses?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/substatuses?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/substatuses?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/substatuses?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/reports/transfer?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/reports/transfer?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/reports/transfer?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/reports/transfer?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/reports/transfer?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/members/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/members/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/members/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/members/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/members/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/migrations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/migrations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/migrations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/migrations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/migrations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/networks?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/networks?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/networks?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/networks?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/networks?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

Follow this link to check the documentation:

https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/applications?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/applications?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/applications?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/applications?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/applications?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/interactions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/interactions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/interactions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/interactions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/interactions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/reports/queue?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/reports/queue?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/reports/queue?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/reports/queue?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/reports/queue?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/queues?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/queues?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/queues?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/queues?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/queues?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/reports/transfer?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/reports/transfer?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/reports/transfer?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/reports/transfer?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/reports/transfer?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/pauses?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/pauses?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/pauses?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/pauses?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/pauses?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/plugins?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/plugins?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/plugins?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/plugins?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/plugins?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion returns the pm2 processes list.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime campaigns parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime fax account parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return the current agent capacity.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime agents parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime chat queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime fax queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime mail account parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime mail queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime openchannel queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime outbound channels.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime sms queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of telephones parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime trunks parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime voice channel mixmonitor.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime voice channel stopmixmonitor.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime voice channels.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a specific realtime voice queue channel.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will hangup a specific realtime voice queue channel.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will redirect a specific realtime voice queue channel to a specific extension.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a specific preview contact.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime outbound parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime voice queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime voice queues channels.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Notify message to a specific agent.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Notify message to a specific queue.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime waiting chat queues interctions.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Notify message to a specific queue.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime waiting fax queues interctions.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Notify message to a specific queue.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime waiting mail queues interctions.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Notify message to a specific queue.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime waiting openchannel queues interctions.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Notify message to a specific queue.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime waiting sms queues interctions.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/salesforce/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/salesforce/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/salesforce/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/salesforce/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/salesforce/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": [ "\"contact_lead\"", "\"contact\"", "\"lead\"" ], "optional": true, "field": "moduleSearch", "description": "" }, { "group": "Body", "type": "String", "allowedValues": [ "\"nothing\"", "\"contact\"", "\"lead\"" ], "optional": true, "field": "moduleCreate", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/salesforce/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/salesforce/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/salesforce/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/salesforce/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/salesforce/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/salesforce/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/salesforce/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/salesforce/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/salesforce/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/salesforce/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/schedules?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/schedules?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/schedules?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/schedules?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/schedules?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/schedule/index.js", "groupTitle": "Schedules" }, { "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/settings?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/settings?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/settings?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/settings?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/settings?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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\"" ], "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": [ "\"basic\"", "\"classic\"", "\"classic+\"" ], "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": "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

This API is used to create a new sms message to be sent to the system.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/smsMessage/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 \\ \n -H 'Content-Type: application/json' -v -X POST", "type": "json" } ], "name": "statusMessage", "group": "Sms_Accounts", "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/smsAccount/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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/applications?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/applications?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/applications?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/applications?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/applications?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/interactions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/interactions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/interactions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/interactions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/interactions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/reports/queue?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/reports/queue?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/reports/queue?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/reports/queue?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/reports/queue?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/queues?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/queues?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/queues?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/queues?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/queues?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/reports/transfer?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/reports/transfer?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/reports/transfer?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/reports/transfer?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/reports/transfer?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sounds?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sounds?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sounds?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sounds?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sounds?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/square/details/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/square/details/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/square/details/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/square/details/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/square/details/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/square/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/square/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/square/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/square/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/square/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/square/odbc?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/square/odbc?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/square/odbc?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/square/odbc?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/square/odbc?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/square/projects?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/square/projects?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/square/projects?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/square/projects?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/square/projects?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/square/recordings?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/square/recordings?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/square/recordings?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/square/recordings?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/square/recordings?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/square/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/square/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/square/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/square/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/square/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/sugarcrm/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/sugarcrm/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/sugarcrm/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/sugarcrm/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/sugarcrm/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/sugarcrm/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/sugarcrm/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/sugarcrm/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/sugarcrm/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/sugarcrm/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/sugarcrm/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/sugarcrm/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/sugarcrm/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/sugarcrm/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/sugarcrm/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion returns the system information.

", "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": "

Motion returns the system information.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/tags?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/tags?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/tags?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/tags?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/tags?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/teams?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/teams?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/teams?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/teams?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/teams?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/mailQueue/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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/voiceQueue/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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/smsQueue/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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/faxQueue/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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/chatQueue/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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/templates?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/templates?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/templates?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/templates?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/templates?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/triggers?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/triggers?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/triggers?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/triggers?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/triggers?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Allowed values: contactManager, integration, motionbar, jscripty, urlForward, browser, bot

" }, { "group": "Body", "type": "String", "optional": true, "field": "data1", "description": "

contactManager[ListId], integration[intName(zendesk)], motionbar[Popup(0),URL(1),WinApp(2)], urlForward[GET,POST], browser[TemplateId(0),URL(1)]

" }, { "group": "Body", "type": "String", "optional": true, "field": "data2", "description": "

integration[AccountId], motionbar[TemplateId,URL,WinAppPath], urlForward[URL]

" }, { "group": "Body", "type": "String", "optional": true, "field": "data3", "description": "

motionbar[NULL,NULL,WinAppArguments]

" }, { "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

String is deprecated. Please use an Array as ["udp", "tcp"]

" }, { "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": "

String is deprecated. Please use an Array as ["force_rport", "comedia"]

" }, { "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": "

String is deprecated. Please use an Array as ["ulaw", "alaw", "alaw"]

" }, { "group": "Body", "type": "String", "allowedValues": [ "\"yes\"", "\"no\"" ], "optional": true, "field": "autoframing", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "insecure", "description": "

String is deprecated. Please use an Array as ["port", "invite"]

" }, { "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/trunks?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/trunks?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/trunks?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/trunks?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/trunks?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/trunk/index.js", "groupTitle": "Trunks" }, { "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

The name of the user

" }, { "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": "

String is deprecated. Please use an Array as ["udp", "tcp"]

" }, { "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": "

String is deprecated. Please use an Array as ["force_rport", "comedia"]

" }, { "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": "

String is deprecated. Please use an Array as ["ulaw", "alaw", "gsm"]

" }, { "group": "Body", "type": "String", "allowedValues": [ "\"yes\"", "\"no\"" ], "optional": true, "field": "autoframing", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "insecure", "description": "

String is deprecated. Please use an Array as ["port", "invite"]

" }, { "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": "phoneBarEnableVideoRecording", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/users?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/users?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/users?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/users?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/users?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/variables?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/variables?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/variables?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/variables?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/variables?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion run the following command: git fetch origin master

", "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": "

Motion returns the current and latest motion version.

", "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": "

Motion launch the database migrations, according to the application version

", "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": "

Motion run the following command: git pull

", "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": "

Motion run the following command: git reset --hard FETCH_HEAD

", "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": "

Motion run the following command: pm2 restart motion

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/agents/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/agents/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/agents/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/agents/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/agents/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/calls/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/calls/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/calls/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/calls/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/calls/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/chanspy?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/chanspy?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/chanspy?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/chanspy?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/chanspy?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/contexts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/contexts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/contexts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/contexts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/contexts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/dials/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/dials/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/dials/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/dials/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/dials/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/extensions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/extensions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/extensions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/extensions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/extensions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/mohs?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/mohs?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/mohs?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/mohs?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/mohs?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "name", "description": "" }, { "group": "Body", "type": "Integer", "optional": false, "field": "maxsecs", "description": "" }, { "group": "Body", "type": "Integer", "optional": false, "field": "maxmsg", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/mails?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/mails?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/mails?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/mails?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/mails?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/mails/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/mails/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/mails/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/mails/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/mails/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/prefixes?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/prefixes?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/prefixes?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/prefixes?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/prefixes?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/queues/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/queues/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/queues/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/queues/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/queues/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Active/Disactive Campaign

" }, { "group": "Body", "type": "String", "allowedValues": [ "\"preview\"", "\"progressive\"", "\"power\"", "\"predictive\"", "\"booked\"" ], "optional": true, "field": "dialMethod", "description": "

Dial Method.

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialLimitChannel", "description": "

Max 9999 channels, 0 means unlimited.

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialLimitQueue", "description": "

Max 9999 member in queue(min:1, max:9999), 0 means unlimited.

" }, { "group": "Body", "type": "Float", "optional": true, "field": "dialPowerLevel", "description": "

Power Level: Calls for agents (min:1, max:10).

" }, { "group": "Body", "type": "String", "allowedValues": [ "\"agentBusyFactor\"", "\"dropRate\"" ], "optional": true, "field": "dialPredictiveOptimization", "description": "

Only for predictive method.

" }, { "group": "Body", "type": "Float", "optional": true, "field": "dialPredictiveOptimizationPercentage", "description": "

Predictive Optimization Percentage (min: 1, max: 95)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialPredictiveInterval", "description": "

Interval Predictive Minutes (min:5 max:30)

" }, { "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": "

Originate Timeout Seconds (min:1, max:999)

" }, { "group": "Body", "type": "String", "optional": true, "field": "dialQueueOptions", "description": "

https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Application_Queue

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialQueueTimeout", "description": "

Queue Timeout Seconds (min:1, max:999)

" }, { "group": "Body", "type": "String", "optional": true, "field": "dialQueueProject", "description": "

AGI queue option (use: agi://127.0.0.1/square,<project_name>)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialCongestionMaxRetry", "description": "

#Congestion Retry (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialCongestionRetryFrequency", "description": "

Congestion Retry Frequency Minutes (min:1, max:99999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialBusyMaxRetry", "description": "

#Busy Retry (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialBusyRetryFrequency", "description": "

Busy Retry Frequency Minutes (min:1, max:99999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialNoAnswerMaxRetry", "description": "

#NoAnswer Retry (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialNoAnswerRetryFrequency", "description": "

NoAnswer Retry Frequency Minutes (min:1, max:99999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialGlobalMaxRetry", "description": "

#Global Max Retry (min:1, max:999)

" }, { "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": "

Active/Disactive AMD

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDInitialSilence", "description": "

#AMD Initial Silence

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDGreeting", "description": "

#AMD Greeting

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDAfterGreetingSilence", "description": "

#AMD After Greeting Silence

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDTotalAnalysisTime", "description": "

#AMD Total Analysis Time

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDMinWordLength", "description": "

#AMD Min Word Length

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDBetweenWordsSilence", "description": "

#AMD Between Words Silence

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDMaximumNumberOfWords", "description": "

#AMD Maximum Number Of Words

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDSilenceThreshold", "description": "

#AMD Silence Threshold (min:0, max:32767)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDMaximumWordLength", "description": "

#AMD Maximum Word Length

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialRecallMeTimeout", "description": "

#RecallMe Timeout (min:1)

" }, { "group": "Body", "type": "Boolean", "optional": true, "field": "dialRecallInQueue", "description": "

Active/Disactive Recall In Queue

" }, { "group": "Body", "type": "String", "allowedValues": [ "\"DESC\"", "\"ASC\"" ], "optional": true, "field": "dialOrderByScheduledAt", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "dialQueueProject2", "description": "

AGI queue option (use: agi://127.0.0.1/square,<project_name>)

" }, { "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": "

Random Last Digit (min:1, max:15)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialCutDigit", "description": "

Cut Digit (min:1, max:15)

" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/queues?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/queues?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/queues?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/queues?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/queues?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/recordings?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/recordings?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/recordings?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/recordings?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/recordings?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/transfers/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/transfers/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/transfers/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/transfers/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/transfers/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/vtiger/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/vtiger/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/vtiger/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/vtiger/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/vtiger/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/vtiger/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/vtiger/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/vtiger/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/vtiger/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/vtiger/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/vtiger/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/vtiger/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/vtiger/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/vtiger/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/vtiger/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/zendesk/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/zendesk/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/zendesk/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/zendesk/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/zendesk/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/zendesk/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/zendesk/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/zendesk/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/zendesk/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/zendesk/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/zendesk/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/zendesk/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/zendesk/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/zendesk/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/zendesk/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/zoho/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/zoho/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/zoho/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/zoho/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/zoho/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/zoho/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/zoho/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/zoho/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/zoho/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/zoho/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/zoho/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/zoho/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/zoho/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/zoho/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/zoho/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cdr?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cdr?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cdr?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cdr?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cdr?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voiceQueuesLog?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voiceQueuesLog?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voiceQueuesLog?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voiceQueuesLog?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voiceQueuesLog?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/analytics/custom_reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/analytics/custom_reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/analytics/custom_reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/analytics/custom_reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/analytics/custom_reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/analytics/default_reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/analytics/default_reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/analytics/default_reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/analytics/default_reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/analytics/default_reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/analytics/extracted_reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/analytics/extracted_reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/analytics/extracted_reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/analytics/extracted_reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/analytics/extracted_reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/analytics/field_reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/analytics/field_reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/analytics/field_reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/analytics/field_reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/analytics/field_reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/analytics/metrics?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/analytics/metrics?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/analytics/metrics?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/analytics/metrics?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/analytics/metrics?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/analytics/tree_reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/analytics/tree_reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/analytics/tree_reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/analytics/tree_reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/analytics/tree_reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/attachments?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/attachments?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/attachments?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/attachments?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/attachments?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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\": \"john.doe@xcally.com\"}' \\\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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/automations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/automations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/automations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/automations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/automations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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\": \"john.doe@xcally.com\", \"...\": \"...\"}]' \\ \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": "

Allowed values: contactManager, integration, motionbar, jscripty, urlForward, browser, bot

" }, { "group": "Body", "type": "String", "optional": true, "field": "data1", "description": "

contactManager[ListId], integration[intName(zendesk)], motionbar[Popup(0),URL(1),WinApp(2)], urlForward[GET,POST], browser[TemplateId(0),URL(1)]

" }, { "group": "Body", "type": "String", "optional": true, "field": "data2", "description": "

integration[AccountId], motionbar[TemplateId,URL,WinAppPath], urlForward[URL]

" }, { "group": "Body", "type": "String", "optional": true, "field": "data3", "description": "

motionbar[NULL,NULL,WinAppArguments]

" }, { "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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\": \"john.doe@xcally.com\", \"...\": \"...\"}]' \\ \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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/canned_answers?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/canned_answers?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/canned_answers?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/canned_answers?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/canned_answers?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/groups?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/groups?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/groups?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/groups?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/groups?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/interactions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/interactions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/interactions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/interactions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/interactions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

This API is used to set as abandon an interaction and stop the routing.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

This API is used to update an interaction.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/internal/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/internal/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/internal/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/internal/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/internal/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/offline_messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/offline_messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/offline_messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/offline_messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/offline_messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/reports/queue?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/reports/queue?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/reports/queue?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/reports/queue?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/reports/queue?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/queues?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/queues?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/queues?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/queues?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/queues?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/reports/transfer?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/reports/transfer?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/reports/transfer?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/reports/transfer?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/reports/transfer?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/chat/websites?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/chat/websites?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/chat/websites?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/chat/websites?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/chat/websites?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

This API is used to create a new chat message to be sent to the system.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/companies?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/companies?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/companies?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/companies?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/companies?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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\": \"john.doe@xcally.com\", \"...\": \"...\"}]' \\ \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": "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/contacts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/contacts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/contacts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/contacts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/contacts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/cmContact/index.js", "groupTitle": "Cm_Contacts" }, { "type": "delete", "url": "/api/cm/custom_fields/{id}", "title": "Deletes a Custom Field", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/cm/custom_fields/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteCustom_Fields", "group": "Cm_Custom_Fields", "description": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/custom_fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/custom_fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/custom_fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/custom_fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/custom_fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/hopper?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/hopper?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/hopper?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/hopper?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/hopper?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/hopper_black?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/hopper_black?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/hopper_black?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/hopper_black?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/hopper_black?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/hopper_final?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/hopper_final?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/hopper_final?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/hopper_final?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/hopper_final?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/hopper_history?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/hopper_history?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/hopper_history?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/hopper_history?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/hopper_history?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cm/lists?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cm/lists?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cm/lists?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cm/lists?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cm/lists?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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\": \"john.doe@xcally.com\", \"...\": \"...\"}]' \\ \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": "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/condition/index.js", "groupTitle": "Conditions" }, { "type": "post", "url": "/api/cm/custom_field", "title": "Create a new custom field", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/cm/custom_field -d '{\"name\": \"mycf\", \"type\": \"text\"}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateCustomField", "group": "Custom_Fields", "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/cmCustomField/index.js", "groupTitle": "Custom_Fields" }, { "type": "post", "url": "/api/dashboards/items", "title": "Create dasboard item", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/dashboards/items \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "Create", "group": "Dashboard_Items", "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/dashboards?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/dashboards?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/dashboards?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/dashboards?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/dashboards?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/desk/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/desk/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/desk/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/desk/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/desk/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/desk/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/desk/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/desk/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/desk/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/desk/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/desk/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/desk/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/desk/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/desk/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/desk/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/dispositions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/dispositions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/dispositions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/dispositions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/dispositions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/disposition/index.js", "groupTitle": "Dispositions" }, { "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/applications?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/applications?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/applications?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/applications?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/applications?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/interactions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/interactions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/interactions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/interactions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/interactions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/reports/queue?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/reports/queue?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/reports/queue?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/reports/queue?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/reports/queue?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/queues?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/queues?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/queues?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/queues?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/queues?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/fax/reports/transfer?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/fax/reports/transfer?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/fax/reports/transfer?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/fax/reports/transfer?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/fax/reports/transfer?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/freshdesk/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/freshdesk/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/freshdesk/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/freshdesk/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/freshdesk/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/freshdesk/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/freshdesk/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/freshdesk/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/freshdesk/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/freshdesk/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/freshdesk/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/freshdesk/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/freshdesk/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/freshdesk/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/freshdesk/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Active/Disactive Campaign

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "limitCalls", "description": "

Max 200 calls.

" }, { "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": "

Originate Timeout Seconds (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialCongestionMaxRetry", "description": "

#Congestion Retry (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialCongestionRetryFrequency", "description": "

Congestion Retry Frequency Minutes (min:1, max:99999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialBusyMaxRetry", "description": "

#Busy Retry (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialBusyRetryFrequency", "description": "

Busy Retry Frequency Minutes (min:1, max:99999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialNoAnswerMaxRetry", "description": "

#NoAnswer Retry (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialNoAnswerRetryFrequency", "description": "

NoAnswer Retry Frequency Minutes (min:1, max:99999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialGlobalMaxRetry", "description": "

#Global Max Retry (min:1, max:999)

" }, { "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": "

Active/Disactive AMD

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDInitialSilence", "description": "

#AMD Initial Silence

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDGreeting", "description": "

#AMD Greeting

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDAfterGreetingSilence", "description": "

#AMD After Greeting Silence

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDTotalAnalysisTime", "description": "

#AMD Total Analysis Time

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDMinWordLength", "description": "

#AMD Min Word Length

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDBetweenWordsSilence", "description": "

#AMD Between Words Silence

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDMaximumNumberOfWords", "description": "

#AMD Maximum Number Of Words

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDSilenceThreshold", "description": "

#AMD Silence Threshold (min:0, max:32767)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDMaximumWordLength", "description": "

#AMD Maximum Word Length

" }, { "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": "

Random Last Digit (min:1, max:15)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialCutDigit", "description": "

Cut Digit (min:1, max:15)

" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/campaigns?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/campaigns?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/campaigns?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/campaigns?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/campaigns?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/intervals?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/intervals?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/intervals?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/intervals?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/intervals?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/jscripty/answers/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/jscripty/answers/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/jscripty/answers/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/jscripty/answers/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/jscripty/answers/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/jscripty/questions/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/jscripty/questions/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/jscripty/questions/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/jscripty/questions/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/jscripty/questions/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/jscripty/sessions/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/jscripty/sessions/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/jscripty/sessions/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/jscripty/sessions/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/jscripty/sessions/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/jscripty/projects?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/jscripty/projects?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/jscripty/projects?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/jscripty/projects?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/jscripty/projects?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "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": "String", "optional": true, "field": "lastMsgBody", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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\" '}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "sendMail", "group": "Mail_Accounts", "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "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": "String", "optional": true, "field": "lastMsgBody", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/interactions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/interactions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/interactions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/interactions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/interactions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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\": \"sales@xcally.com\", \"...\": \"...\"}]' \\ \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": "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/reports/queue?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/reports/queue?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/reports/queue?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/reports/queue?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/reports/queue?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/queues?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/queues?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/queues?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/queues?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/queues?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/out_servers?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/out_servers?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/out_servers?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/out_servers?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/out_servers?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/substatuses?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/substatuses?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/substatuses?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/substatuses?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/substatuses?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/mail/reports/transfer?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/mail/reports/transfer?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/mail/reports/transfer?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/mail/reports/transfer?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/mail/reports/transfer?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/members/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/members/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/members/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/members/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/members/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/migrations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/migrations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/migrations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/migrations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/migrations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/networks?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/networks?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/networks?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/networks?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/networks?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

Follow this link to check the documentation:

https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/applications?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/applications?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/applications?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/applications?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/applications?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/interactions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/interactions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/interactions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/interactions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/interactions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/reports/queue?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/reports/queue?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/reports/queue?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/reports/queue?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/reports/queue?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/queues?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/queues?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/queues?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/queues?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/queues?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/openchannel/reports/transfer?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/openchannel/reports/transfer?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/openchannel/reports/transfer?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/openchannel/reports/transfer?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/openchannel/reports/transfer?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/pauses?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/pauses?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/pauses?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/pauses?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/pauses?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/plugins?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/plugins?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/plugins?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/plugins?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/plugins?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion returns the pm2 processes list.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime campaigns parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime fax account parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return the current agent capacity.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime agents parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime chat queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime fax queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime mail account parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime mail queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime openchannel queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime outbound channels.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime sms queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of telephones parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime trunks parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime voice channel mixmonitor.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime voice channel stopmixmonitor.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime voice channels.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a specific realtime voice queue channel.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will hangup a specific realtime voice queue channel.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will redirect a specific realtime voice queue channel to a specific extension.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a specific preview contact.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime outbound parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime voice queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime voice queues channels.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Notify message to a specific agent.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Notify message to a specific queue.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime waiting chat queues interctions.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Notify message to a specific queue.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime waiting fax queues interctions.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Notify message to a specific queue.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime waiting mail queues interctions.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Notify message to a specific queue.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime waiting openchannel queues interctions.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Notify message to a specific queue.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a list of realtime waiting sms queues interctions.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/salesforce/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/salesforce/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/salesforce/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/salesforce/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/salesforce/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": [ "\"contact_lead\"", "\"contact\"", "\"lead\"" ], "optional": true, "field": "moduleSearch", "description": "" }, { "group": "Body", "type": "String", "allowedValues": [ "\"nothing\"", "\"contact\"", "\"lead\"" ], "optional": true, "field": "moduleCreate", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/salesforce/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/salesforce/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/salesforce/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/salesforce/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/salesforce/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/salesforce/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/salesforce/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/salesforce/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/salesforce/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/salesforce/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/schedules?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/schedules?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/schedules?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/schedules?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/schedules?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/schedule/index.js", "groupTitle": "Schedules" }, { "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/settings?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/settings?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/settings?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/settings?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/settings?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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\"" ], "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": "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

This API is used to create a new sms message to be sent to the system.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/smsMessage/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 \\ \n -H 'Content-Type: application/json' -v -X POST", "type": "json" } ], "name": "statusMessage", "group": "Sms_Accounts", "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/smsAccount/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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "appdata", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "description", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "interval", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/applications?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/applications?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/applications?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/applications?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/applications?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/interactions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/interactions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/interactions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/interactions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/interactions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/reports/queue?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/reports/queue?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/reports/queue?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/reports/queue?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/reports/queue?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/queues?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/queues?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/queues?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/queues?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/queues?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sms/reports/transfer?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sms/reports/transfer?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sms/reports/transfer?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sms/reports/transfer?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sms/reports/transfer?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/sounds?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/sounds?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/sounds?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/sounds?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/sounds?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/square/details/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/square/details/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/square/details/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/square/details/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/square/details/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/square/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/square/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/square/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/square/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/square/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/square/odbc?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/square/odbc?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/square/odbc?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/square/odbc?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/square/odbc?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/square/projects?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/square/projects?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/square/projects?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/square/projects?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/square/projects?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/square/recordings?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/square/recordings?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/square/recordings?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/square/recordings?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/square/recordings?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/square/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/square/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/square/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/square/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/square/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/sugarcrm/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/sugarcrm/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/sugarcrm/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/sugarcrm/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/sugarcrm/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/sugarcrm/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/sugarcrm/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/sugarcrm/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/sugarcrm/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/sugarcrm/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/sugarcrm/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/sugarcrm/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/sugarcrm/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/sugarcrm/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/sugarcrm/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion returns the system information.

", "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": "

Motion returns the system information.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/tags?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/tags?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/tags?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/tags?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/tags?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/teams?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/teams?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/teams?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/teams?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/teams?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/mailQueue/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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/voiceQueue/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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/smsQueue/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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/faxQueue/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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/chatQueue/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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/templates?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/templates?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/templates?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/templates?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/templates?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/triggers?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/triggers?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/triggers?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/triggers?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/triggers?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Allowed values: contactManager, integration, motionbar, jscripty, urlForward, browser, bot

" }, { "group": "Body", "type": "String", "optional": true, "field": "data1", "description": "

contactManager[ListId], integration[intName(zendesk)], motionbar[Popup(0),URL(1),WinApp(2)], urlForward[GET,POST], browser[TemplateId(0),URL(1)]

" }, { "group": "Body", "type": "String", "optional": true, "field": "data2", "description": "

integration[AccountId], motionbar[TemplateId,URL,WinAppPath], urlForward[URL]

" }, { "group": "Body", "type": "String", "optional": true, "field": "data3", "description": "

motionbar[NULL,NULL,WinAppArguments]

" }, { "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

String is deprecated. Please use an Array as ["udp", "tcp"]

" }, { "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": "

String is deprecated. Please use an Array as ["force_rport", "comedia"]

" }, { "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": "

String is deprecated. Please use an Array as ["ulaw", "alaw", "alaw"]

" }, { "group": "Body", "type": "String", "allowedValues": [ "\"yes\"", "\"no\"" ], "optional": true, "field": "autoframing", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "insecure", "description": "

String is deprecated. Please use an Array as ["port", "invite"]

" }, { "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/trunks?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/trunks?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/trunks?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/trunks?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/trunks?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/trunk/index.js", "groupTitle": "Trunks" }, { "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

The name of the user

" }, { "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": "

String is deprecated. Please use an Array as ["udp", "tcp"]

" }, { "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": "

String is deprecated. Please use an Array as ["force_rport", "comedia"]

" }, { "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": "

String is deprecated. Please use an Array as ["ulaw", "alaw", "gsm"]

" }, { "group": "Body", "type": "String", "allowedValues": [ "\"yes\"", "\"no\"" ], "optional": true, "field": "autoframing", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "insecure", "description": "

String is deprecated. Please use an Array as ["port", "invite"]

" }, { "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": "phoneBarEnableVideoRecording", "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": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/users?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/users?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/users?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/users?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/users?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/variables?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/variables?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/variables?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/variables?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/variables?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion run the following command: git fetch origin master

", "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": "

Motion returns the current and latest motion version.

", "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": "

Motion launch the database migrations, according to the application version

", "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": "

Motion run the following command: git pull

", "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": "

Motion run the following command: git reset --hard FETCH_HEAD

", "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": "

Motion run the following command: pm2 restart motion

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/agents/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/agents/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/agents/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/agents/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/agents/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/calls/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/calls/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/calls/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/calls/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/calls/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/chanspy?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/chanspy?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/chanspy?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/chanspy?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/chanspy?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/contexts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/contexts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/contexts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/contexts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/contexts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/dials/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/dials/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/dials/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/dials/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/dials/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/extensions?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/extensions?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/extensions?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/extensions?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/extensions?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/mohs?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/mohs?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/mohs?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/mohs?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/mohs?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "String", "optional": true, "field": "name", "description": "" }, { "group": "Body", "type": "Integer", "optional": false, "field": "maxsecs", "description": "" }, { "group": "Body", "type": "Integer", "optional": false, "field": "maxmsg", "description": "" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/mails?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/mails?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/mails?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/mails?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/mails?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/mails/messages?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/mails/messages?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/mails/messages?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/mails/messages?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/mails/messages?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/prefixes?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/prefixes?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/prefixes?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/prefixes?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/prefixes?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/queues/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/queues/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/queues/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/queues/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/queues/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Active/Disactive Campaign

" }, { "group": "Body", "type": "String", "allowedValues": [ "\"preview\"", "\"progressive\"", "\"power\"", "\"predictive\"", "\"booked\"" ], "optional": true, "field": "dialMethod", "description": "

Dial Method.

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialLimitChannel", "description": "

Max 9999 channels, 0 means unlimited.

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialLimitQueue", "description": "

Max 9999 member in queue(min:1, max:9999), 0 means unlimited.

" }, { "group": "Body", "type": "Float", "optional": true, "field": "dialPowerLevel", "description": "

Power Level: Calls for agents (min:1, max:10).

" }, { "group": "Body", "type": "String", "allowedValues": [ "\"agentBusyFactor\"", "\"dropRate\"" ], "optional": true, "field": "dialPredictiveOptimization", "description": "

Only for predictive method.

" }, { "group": "Body", "type": "Float", "optional": true, "field": "dialPredictiveOptimizationPercentage", "description": "

Predictive Optimization Percentage (min: 1, max: 95)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialPredictiveInterval", "description": "

Interval Predictive Minutes (min:5 max:30)

" }, { "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": "

Originate Timeout Seconds (min:1, max:999)

" }, { "group": "Body", "type": "String", "optional": true, "field": "dialQueueOptions", "description": "

https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Application_Queue

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialQueueTimeout", "description": "

Queue Timeout Seconds (min:1, max:999)

" }, { "group": "Body", "type": "String", "optional": true, "field": "dialQueueProject", "description": "

AGI queue option (use: agi://127.0.0.1/square,<project_name>)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialCongestionMaxRetry", "description": "

#Congestion Retry (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialCongestionRetryFrequency", "description": "

Congestion Retry Frequency Minutes (min:1, max:99999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialBusyMaxRetry", "description": "

#Busy Retry (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialBusyRetryFrequency", "description": "

Busy Retry Frequency Minutes (min:1, max:99999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialNoAnswerMaxRetry", "description": "

#NoAnswer Retry (min:1, max:999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialNoAnswerRetryFrequency", "description": "

NoAnswer Retry Frequency Minutes (min:1, max:99999)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialGlobalMaxRetry", "description": "

#Global Max Retry (min:1, max:999)

" }, { "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": "

Active/Disactive AMD

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDInitialSilence", "description": "

#AMD Initial Silence

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDGreeting", "description": "

#AMD Greeting

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDAfterGreetingSilence", "description": "

#AMD After Greeting Silence

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDTotalAnalysisTime", "description": "

#AMD Total Analysis Time

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDMinWordLength", "description": "

#AMD Min Word Length

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDBetweenWordsSilence", "description": "

#AMD Between Words Silence

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDMaximumNumberOfWords", "description": "

#AMD Maximum Number Of Words

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDSilenceThreshold", "description": "

#AMD Silence Threshold (min:0, max:32767)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialAMDMaximumWordLength", "description": "

#AMD Maximum Word Length

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialRecallMeTimeout", "description": "

#RecallMe Timeout (min:1)

" }, { "group": "Body", "type": "Boolean", "optional": true, "field": "dialRecallInQueue", "description": "

Active/Disactive Recall In Queue

" }, { "group": "Body", "type": "String", "allowedValues": [ "\"DESC\"", "\"ASC\"" ], "optional": true, "field": "dialOrderByScheduledAt", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "dialQueueProject2", "description": "

AGI queue option (use: agi://127.0.0.1/square,<project_name>)

" }, { "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": "

Random Last Digit (min:1, max:15)

" }, { "group": "Body", "type": "Integer", "optional": true, "field": "dialCutDigit", "description": "

Cut Digit (min:1, max:15)

" } ] } }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/queues?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/queues?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/queues?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/queues?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/queues?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/recordings?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/recordings?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/recordings?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/recordings?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/recordings?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voice/transfers/reports?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voice/transfers/reports?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voice/transfers/reports?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voice/transfers/reports?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voice/transfers/reports?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/vtiger/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/vtiger/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/vtiger/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/vtiger/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/vtiger/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/vtiger/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/vtiger/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/vtiger/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/vtiger/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/vtiger/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/vtiger/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/vtiger/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/vtiger/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/vtiger/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/vtiger/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/zendesk/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/zendesk/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/zendesk/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/zendesk/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/zendesk/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/zendesk/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/zendesk/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/zendesk/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/zendesk/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/zendesk/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/zendesk/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/zendesk/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/zendesk/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/zendesk/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/zendesk/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/zoho/accounts?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/zoho/accounts?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/zoho/accounts?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/zoho/accounts?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/zoho/accounts?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/zoho/configurations?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/zoho/configurations?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/zoho/configurations?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/zoho/configurations?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/zoho/configurations?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/integrations/zoho/fields?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/integrations/zoho/fields?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/integrations/zoho/fields?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/integrations/zoho/fields?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/integrations/zoho/fields?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/cdr?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/cdr?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/cdr?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/cdr?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/cdr?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will always return paged results. Motion returns paging data in the Content-Range header in the form start - end / total.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned otherwise it will return a HTTP status code 206 Partial Content.

Motion renders the resulting JSON representation in the response body.

Retrieving Specific Fields

To return only specific fields for a result set you can utilize the fields parameter. This parameter accepts a comma-separated list.

A call returning only id and name for a result set would look like this.

GET /api/voiceQueuesLog?fields=id,name

Filtering

You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.

A call returning a result set for records with name of john.doe or jane.miller.

GET /api/voiceQueuesLog?name=john.doe,jane.miller

If you use the key filter the result will be filtered by the value you specify.

GET /api/voiceQueuesLog?filter=john

Sorting

To sort a result set based on one or several fields you can utilize the sort parameter. This parameters accepts a comma-separated list.

Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (-).

A call sorting a result by id ascending and then name descending would look like this.

GET /api/voiceQueuesLog?sort=id,-name

Offset and Limit

Query results are always paged. Motion leverages the offset and limit parameters to facilitate this.

When the neither of these parameters are explicitly supplied the handler will assume the a default limit of 100.

offset is a number indicating the start position in the result set you want to return.

limit is a number indicating how many records past the start position you want returned.

A call with a result set starting at 5 and returning no more than 25 records would look like this.

GET /api/voiceQueuesLog?offset=5&limit=25

If there were 50 records in total, the returned Content-Range header would look like this.

Content-Range: 5-30/50

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "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": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/voiceQueuesLog/index.js", "groupTitle": "voiceQueuesLog" } ] diff --git a/apidoc/api_project.js b/apidoc/api_project.js index ff8a171..2caeebe 100644 --- a/apidoc/api_project.js +++ b/apidoc/api_project.js @@ -1 +1 @@ -define({ "name": "xCALLY Motion API", "version": "2.0.80", "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": "

The API

\n

This is the documentation for the xCALLY MOTION API.

\n

We make changes to the APIs from time to time. For more information, see Changelog.

\n

The xCALLY MOTION API consists of several different APIs. Use the left sidebar menu to select one.

\n

The API is a JSON API. XML is not supported. To learn more, see [Working with JSON].

\n

Endpoints are documented with the HTTP method for the request and a partial resource identifier.\nExample:

\n
GET /api/users\n
\n

Prepend your xCALLY URL to the resource identifier to get the full endpoint URL:

\n
https://motion.xcally.com/api/users\n
\n

Curly braces, {}, indicate values you have to supply. Example:

\n
GET  /api/users/{id}\n
\n

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].

\n

The examples use basic authentication requiring a xCALLY username and password.

\n

Security and Authentication

\n

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.

\n

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 a xCALLY API token.

\n

Basic authentication

\n

Use the following authentication format with your username and password:\n{username}:{password}

\n

Example:

\n
curl -u admin:password https://motion.xcally.com/api/users\n
\n

OAuth access token

\n

The xCALLY API supports OAuth authorization flows.

\n

OAuth access tokens also permit client-side API requests.

\n

In your requests, specify the access token in an Authorization header as follows:\nAuthorization: Bearer {token}

\n

Example:

\n
curl -H "Authorization: Bearer gErypPlm4dOVgGRvA1ZzMH5MQ3nLo8bo" https://motion.xcally.com/api/users\n
\n

Request Format

\n

The xCALLY API is a JSON API. You must supply a Content-Type: application/json header in PUT and POST requests. You must set an Accept: application/json header on all requests. You may get a text/plain response in case of an error like a bad request. You should treat this as an error you need to fix.

\n

Response Format

\n

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.

\n

Responses may have the status codes described in the following sections.

\n

200 range

\n

The request was successful. The status is 200 for successful GET and PUT requests, 201 for most POST requests, and 204 for DELETE requests.

\n

400 range

\n

The request was not successful. The content type of the response may be text/plain for API-level error messages, such as when trying to call the API without SSL. The content type is application/json for business-level error messages because the response includes a JSON object with information about the error.

\n

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.

\n

500 range

\n

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 support@xcally.com.

\n

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.

\n

Data Types

\n

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.

\n

ID integers

\n

Most xCALLY Support resources such as queues and users are identified by the integer specified by the id attribute of API responses.

\n

The default numeric type in JavaScript, Ruby, Python, and PHP is sufficient to represent xCALLY Support ID integers.

\n

Time stamps

\n

Time stamps use UTC time and are formatted as ISO 8601 strings. Example: 2017-04-16T09:14:57Z

\n" }, "template": { "withGenerator": false, "withCompare": false, "forceLanguage": "en" }, "sampleUrl": false, "defaultVersion": "0.0.0", "apidoc": "0.3.0", "generator": { "name": "apidoc", "time": "2019-04-19T09:44:15.735Z", "url": "http://apidocjs.com", "version": "0.17.7" } }); +define({ "name": "xCALLY Motion API", "version": "2.0.81", "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": "

The API

\n

This is the documentation for the xCALLY MOTION API.

\n

We make changes to the APIs from time to time. For more information, see Changelog.

\n

The xCALLY MOTION API consists of several different APIs. Use the left sidebar menu to select one.

\n

The API is a JSON API. XML is not supported. To learn more, see [Working with JSON].

\n

Endpoints are documented with the HTTP method for the request and a partial resource identifier.\nExample:

\n
GET /api/users\n
\n

Prepend your xCALLY URL to the resource identifier to get the full endpoint URL:

\n
https://motion.xcally.com/api/users\n
\n

Curly braces, {}, indicate values you have to supply. Example:

\n
GET  /api/users/{id}\n
\n

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].

\n

The examples use basic authentication requiring a xCALLY username and password.

\n

Security and Authentication

\n

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.

\n

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 a xCALLY API token.

\n

Basic authentication

\n

Use the following authentication format with your username and password:\n{username}:{password}

\n

Example:

\n
curl -u admin:password https://motion.xcally.com/api/users\n
\n

OAuth access token

\n

The xCALLY API supports OAuth authorization flows.

\n

OAuth access tokens also permit client-side API requests.

\n

In your requests, specify the access token in an Authorization header as follows:\nAuthorization: Bearer {token}

\n

Example:

\n
curl -H "Authorization: Bearer gErypPlm4dOVgGRvA1ZzMH5MQ3nLo8bo" https://motion.xcally.com/api/users\n
\n

Request Format

\n

The xCALLY API is a JSON API. You must supply a Content-Type: application/json header in PUT and POST requests. You must set an Accept: application/json header on all requests. You may get a text/plain response in case of an error like a bad request. You should treat this as an error you need to fix.

\n

Response Format

\n

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.

\n

Responses may have the status codes described in the following sections.

\n

200 range

\n

The request was successful. The status is 200 for successful GET and PUT requests, 201 for most POST requests, and 204 for DELETE requests.

\n

400 range

\n

The request was not successful. The content type of the response may be text/plain for API-level error messages, such as when trying to call the API without SSL. The content type is application/json for business-level error messages because the response includes a JSON object with information about the error.

\n

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.

\n

500 range

\n

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 support@xcally.com.

\n

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.

\n

Data Types

\n

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.

\n

ID integers

\n

Most xCALLY Support resources such as queues and users are identified by the integer specified by the id attribute of API responses.

\n

The default numeric type in JavaScript, Ruby, Python, and PHP is sufficient to represent xCALLY Support ID integers.

\n

Time stamps

\n

Time stamps use UTC time and are formatted as ISO 8601 strings. Example: 2017-04-16T09:14:57Z

\n" }, "template": { "withGenerator": false, "withCompare": false, "forceLanguage": "en" }, "sampleUrl": false, "defaultVersion": "0.0.0", "apidoc": "0.3.0", "generator": { "name": "apidoc", "time": "2019-05-17T10:23:47.485Z", "url": "http://apidocjs.com", "version": "0.17.7" } }); diff --git a/apidoc/api_project.json b/apidoc/api_project.json index 4dcfcd7..ba4e095 100644 --- a/apidoc/api_project.json +++ b/apidoc/api_project.json @@ -1 +1 @@ -{ "name": "xCALLY Motion API", "version": "2.0.80", "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": "

The API

\n

This is the documentation for the xCALLY MOTION API.

\n

We make changes to the APIs from time to time. For more information, see Changelog.

\n

The xCALLY MOTION API consists of several different APIs. Use the left sidebar menu to select one.

\n

The API is a JSON API. XML is not supported. To learn more, see [Working with JSON].

\n

Endpoints are documented with the HTTP method for the request and a partial resource identifier.\nExample:

\n
GET /api/users\n
\n

Prepend your xCALLY URL to the resource identifier to get the full endpoint URL:

\n
https://motion.xcally.com/api/users\n
\n

Curly braces, {}, indicate values you have to supply. Example:

\n
GET  /api/users/{id}\n
\n

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].

\n

The examples use basic authentication requiring a xCALLY username and password.

\n

Security and Authentication

\n

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.

\n

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 a xCALLY API token.

\n

Basic authentication

\n

Use the following authentication format with your username and password:\n{username}:{password}

\n

Example:

\n
curl -u admin:password https://motion.xcally.com/api/users\n
\n

OAuth access token

\n

The xCALLY API supports OAuth authorization flows.

\n

OAuth access tokens also permit client-side API requests.

\n

In your requests, specify the access token in an Authorization header as follows:\nAuthorization: Bearer {token}

\n

Example:

\n
curl -H "Authorization: Bearer gErypPlm4dOVgGRvA1ZzMH5MQ3nLo8bo" https://motion.xcally.com/api/users\n
\n

Request Format

\n

The xCALLY API is a JSON API. You must supply a Content-Type: application/json header in PUT and POST requests. You must set an Accept: application/json header on all requests. You may get a text/plain response in case of an error like a bad request. You should treat this as an error you need to fix.

\n

Response Format

\n

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.

\n

Responses may have the status codes described in the following sections.

\n

200 range

\n

The request was successful. The status is 200 for successful GET and PUT requests, 201 for most POST requests, and 204 for DELETE requests.

\n

400 range

\n

The request was not successful. The content type of the response may be text/plain for API-level error messages, such as when trying to call the API without SSL. The content type is application/json for business-level error messages because the response includes a JSON object with information about the error.

\n

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.

\n

500 range

\n

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 support@xcally.com.

\n

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.

\n

Data Types

\n

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.

\n

ID integers

\n

Most xCALLY Support resources such as queues and users are identified by the integer specified by the id attribute of API responses.

\n

The default numeric type in JavaScript, Ruby, Python, and PHP is sufficient to represent xCALLY Support ID integers.

\n

Time stamps

\n

Time stamps use UTC time and are formatted as ISO 8601 strings. Example: 2017-04-16T09:14:57Z

\n" }, "template": { "withGenerator": false, "withCompare": false, "forceLanguage": "en" }, "sampleUrl": false, "defaultVersion": "0.0.0", "apidoc": "0.3.0", "generator": { "name": "apidoc", "time": "2019-04-19T09:44:15.735Z", "url": "http://apidocjs.com", "version": "0.17.7" } } +{ "name": "xCALLY Motion API", "version": "2.0.81", "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": "

The API

\n

This is the documentation for the xCALLY MOTION API.

\n

We make changes to the APIs from time to time. For more information, see Changelog.

\n

The xCALLY MOTION API consists of several different APIs. Use the left sidebar menu to select one.

\n

The API is a JSON API. XML is not supported. To learn more, see [Working with JSON].

\n

Endpoints are documented with the HTTP method for the request and a partial resource identifier.\nExample:

\n
GET /api/users\n
\n

Prepend your xCALLY URL to the resource identifier to get the full endpoint URL:

\n
https://motion.xcally.com/api/users\n
\n

Curly braces, {}, indicate values you have to supply. Example:

\n
GET  /api/users/{id}\n
\n

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].

\n

The examples use basic authentication requiring a xCALLY username and password.

\n

Security and Authentication

\n

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.

\n

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 a xCALLY API token.

\n

Basic authentication

\n

Use the following authentication format with your username and password:\n{username}:{password}

\n

Example:

\n
curl -u admin:password https://motion.xcally.com/api/users\n
\n

OAuth access token

\n

The xCALLY API supports OAuth authorization flows.

\n

OAuth access tokens also permit client-side API requests.

\n

In your requests, specify the access token in an Authorization header as follows:\nAuthorization: Bearer {token}

\n

Example:

\n
curl -H "Authorization: Bearer gErypPlm4dOVgGRvA1ZzMH5MQ3nLo8bo" https://motion.xcally.com/api/users\n
\n

Request Format

\n

The xCALLY API is a JSON API. You must supply a Content-Type: application/json header in PUT and POST requests. You must set an Accept: application/json header on all requests. You may get a text/plain response in case of an error like a bad request. You should treat this as an error you need to fix.

\n

Response Format

\n

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.

\n

Responses may have the status codes described in the following sections.

\n

200 range

\n

The request was successful. The status is 200 for successful GET and PUT requests, 201 for most POST requests, and 204 for DELETE requests.

\n

400 range

\n

The request was not successful. The content type of the response may be text/plain for API-level error messages, such as when trying to call the API without SSL. The content type is application/json for business-level error messages because the response includes a JSON object with information about the error.

\n

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.

\n

500 range

\n

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 support@xcally.com.

\n

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.

\n

Data Types

\n

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.

\n

ID integers

\n

Most xCALLY Support resources such as queues and users are identified by the integer specified by the id attribute of API responses.

\n

The default numeric type in JavaScript, Ruby, Python, and PHP is sufficient to represent xCALLY Support ID integers.

\n

Time stamps

\n

Time stamps use UTC time and are formatted as ISO 8601 strings. Example: 2017-04-16T09:14:57Z

\n" }, "template": { "withGenerator": false, "withCompare": false, "forceLanguage": "en" }, "sampleUrl": false, "defaultVersion": "0.0.0", "apidoc": "0.3.0", "generator": { "name": "apidoc", "time": "2019-05-17T10:23:47.485Z", "url": "http://apidocjs.com", "version": "0.17.7" } } diff --git a/package.json b/package.json index 3ce0347..997c737 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "motion", - "version": "2.0.80", + "version": "2.0.81", "description": "xCALLY Motion is the new Realtime asynchronous solution for your multichannel contact center over Asterisk.", "main": "server/app.js", "engines": { diff --git a/public/app/errors/404/i18n/he.json b/public/app/errors/404/i18n/he.json new file mode 100644 index 0000000..9e4052b --- /dev/null +++ b/public/app/errors/404/i18n/he.json @@ -0,0 +1,8 @@ +{ + "ERROR404": { + "CODE": "404", + "MESSAGE": "מצטערים, לא מצאנו את הדף המבוקש", + "SEARCH": "חפש פריט כלשהו", + "GO_BACK": "חזרה אל לוח המחוונים" + } +} \ No newline at end of file diff --git a/public/app/errors/500/i18n/he.json b/public/app/errors/500/i18n/he.json new file mode 100644 index 0000000..4706163 --- /dev/null +++ b/public/app/errors/500/i18n/he.json @@ -0,0 +1,11 @@ +{ + "ERROR500": { + "CODE": "500", + "MESSAGE": "הרסת את האינטרנט!", + "SUBMESSAGE": "סתם בצחוק, כנראה שיש אצלנו בעיה פנימית; נסה שוב בעוד כמה רגעים", + "REPORT": "דווח על הבעיה", + "JIRA_MESSAGE": "בקשתך התקבלה ותעבור עיבוד בקרוב.", + "JIRA_SUBMESSAGE": "מצטערים על אי-הנוחות. בכל שאלה או בעיה, אל תהסס ליצור קשר.", + "GO_BACK": "חזרה אל לוח המחוונים" + } +} \ No newline at end of file diff --git a/public/app/footer/i18n/he.json b/public/app/footer/i18n/he.json new file mode 100644 index 0000000..53cd969 --- /dev/null +++ b/public/app/footer/i18n/he.json @@ -0,0 +1,6 @@ +{ + "FOOTER": { + "COOKIE_LAW": "אנו משתמשים בקובצי cookie כדי להעניק לך חוויה מיטבית. לרשותך נוסח המדיניות שלנו בנושא קובצי cookie.", + "ERRORS": {} + } +} \ No newline at end of file diff --git a/public/app/forgot/i18n/he.json b/public/app/forgot/i18n/he.json new file mode 100644 index 0000000..98102b2 --- /dev/null +++ b/public/app/forgot/i18n/he.json @@ -0,0 +1,15 @@ +{ + "FORGOTPASSWORD": { + "TITLE": "שחזר סיסמה", + "EMAIL_ADRESS": "כתובת דוא\"ל", + "SEND_RESET_LINK": "שלח קישור לאיפוס", + "GO_BACK": "חזור לכניסה", + "LINK_SENT": "הקישור נשלח", + "LINNK_SENT_MESSAGE": "הודעת דוא\"ל ובה קישור לאיפוס הסיסמה נשלחה אל הכתובת שלך!", + "PASSWORD_RESET_ERROR": "שגיאה באיפוס סיסמה", + "ERRORS": { + "EMAIL_REQUIRED": "שדה חובה", + "EMAIL_MUST_VALID": "תבנית שגויה" + } + } +} \ No newline at end of file diff --git a/public/app/header/i18n/he.json b/public/app/header/i18n/he.json new file mode 100644 index 0000000..5135242 --- /dev/null +++ b/public/app/header/i18n/he.json @@ -0,0 +1,6 @@ +{ + "HEADER": { + "NEWS": "כדי לגלות את התכונות החדשות והמדליקות ב-XCALLY, בקר באתר ה-Wiki שלנו.", + "ERRORS": {} + } +} \ No newline at end of file diff --git a/public/app/login/i18n/he.json b/public/app/login/i18n/he.json new file mode 100644 index 0000000..9e03e11 --- /dev/null +++ b/public/app/login/i18n/he.json @@ -0,0 +1,25 @@ +{ + "LOGIN": { + "TELEPHONES": "טלפונים", + "SELECT": "בחר", + "CANCEL": "ביטול", + "TITLE": "היכנס אל חשבונך", + "EMAIL": "דוא\"ל", + "USERNAME": "שם משתמש", + "PASSWORD": "סיסמה", + "REMEMBER_ME": "זכור אותי", + "FORGOT_PASSWORD": "שכחת את הסיסמה?", + "LOG_IN": "היכנס", + "OR": "או", + "WITH_GOOGLE": "היכנס באמצעות Google", + "WITH_FACEBOOK": "היכנס באמצעות Facebook", + "DONT_HAVE_ACCOUNT": "אין לך חשבון?", + "CREATE_ACCOUNT": "צור חשבון", + "ERRORS": { + "EMAIL_REQUIRED": "שדה חובה", + "EMAIL_MUST_VALID": "תבנית שגויה", + "PASSWORD_REQUIRED": "שדה חובה", + "USERNAME_REQUIRED": "שדה חובה" + } + } +} \ No newline at end of file diff --git a/public/app/main/apps/analytics/i18n/he.json b/public/app/main/apps/analytics/i18n/he.json new file mode 100644 index 0000000..e79af24 --- /dev/null +++ b/public/app/main/apps/analytics/i18n/he.json @@ -0,0 +1,88 @@ +{ + "ANALYTICS": { + "SEND_IF_EMPTY": "שלח אם ריק", + "REPORTNAME": "שם הדוח", + "DELETE": "מחק", + "NAME": "שם", + "ANALYTICS": "אנליטיקה", + "METRICS": "מדדים", + "ID": "מזהה", + "TABLE": "טבלה", + "DESCRIPTION": "תיאור", + "SEARCH_FOR_ANYONE": "חיפוש", + "METRIC": "מדד", + "ERRORS": { + "NAME_REQUIRED": "שדה חובה", + "METRIC_REQUIRED": "שדה חובה", + "COLUMN_REQUIRED": "שדה חובה", + "VALUE_REQUIRED": "שדה חובה", + "CUSTOM_METRIC_REQUIRED": "שדה חובה", + "ALIAS_REQUIRED": "שדה חובה" + }, + "NEW_METRIC": "מדד חדש", + "ADD_METRIC": "הוסף מדד", + "EDIT_METRIC": "ערוך מדד", + "DELETE_METRIC": "מחק מדד", + "SAVE": "שמור", + "BACK": "חזרה", + "SELECTED": "נבחר/ו", + "SELECT_ALL": "בחר הכול", + "SELECT_NONE": "אל תבחר אף פריט", + "TYPE": "סוג", + "EXTRACTEDREPORTS": "דוחות שחולצו", + "DATE_RANGE_FROM": "טווח תאריכים מ-", + "DATE_RANGE_TO": "טווח תאריכים עד", + "GENERATED_AT": "הופק ב-", + "STATUS": "סטטוס", + "OUTPUT": "פלט", + "REPORTS": "דוחות", + "SEARCH_FOR_FOLDER": "חפש תיקייה", + "CREATED_AT": "נוצר ב-", + "NEW_REPORT": "דוח חדש", + "ADD_REPORT": "הוסף דוח", + "COPY_REPORT": "העתק דוח", + "PREVIEW_REPORT": "תצוגה מקדימה של דוח", + "RUN_REPORT": "הרץ דוח", + "DOWNLOAD_JSON_REPORT": "ייצא דוח לקובץ JSON", + "EDIT_REPORT": "ערוך דוח", + "DELETE_REPORT": "מחק דוח", + "CREATE": "צור תיקייה", + "RENAME": "שנה שם תיקייה", + "REMOVE": "הסר תיקייה", + "SELECT_NODE": "בחר תיקייה", + "ERROR": "שגיאה", + "QUERY_ERROR": "שגיאת שאילתה", + "MESSAGE": "הודעה", + "CLOSE": "סגור", + "FORMAT": "תבנית", + "SETTINGS": "הגדרות", + "GENERAL": "כללי", + "FIELDS": "שדות", + "CONDITION": "תנאי", + "OPERATOR": "אופרטור", + "GROUP": "קבוצה", + "COLUMN": "עמודה", + "VALUE": "ערך", + "PREVIEW": "תצוגה מקדימה", + "LIMITED_RESULT": "*תוצאות מוגבלות", + "NO_DATA": "אין תוצאות נתונים", + "CONDITIONS": "תנאים", + "ALIAS": "כינוי", + "FUNCTION": "פונקציה", + "GROUP_BY": "קבץ לפי", + "ORDER_BY": "סדר לפי", + "ADD_REPORTFIELD": "הוסף שדה", + "EDIT_REPORTFIELD": "ערוך שדה", + "DELETE_REPORTFIELD": "מחק שדה", + "METRIC_NAME": "מדד", + "NO_METRIC_FOUND": "לא נמצאו מדדים", + "NO_AVAILABLE_INFO": "אין פרטים זמינים", + "CUSTOM_METRIC": "מדד מותאם אישית", + "DELETE_EXTRACTEDREPORT": "מחק דוח שחולץ", + "EDIT_EXTRACTEDREPORT": "ערוך דוח שחולץ", + "DOWNLOAD_EXTRACTEDREPORT": "הורד דוח שחולץ", + "PAGE": "דף", + "ROWSPERPAGE": "שורות בדף", + "OF": "מתוך" + } +} \ No newline at end of file diff --git a/public/app/main/apps/callysquare/i18n/he.json b/public/app/main/apps/callysquare/i18n/he.json new file mode 100644 index 0000000..454b790 --- /dev/null +++ b/public/app/main/apps/callysquare/i18n/he.json @@ -0,0 +1,210 @@ +{ + "CALLYSQUARE": { + "AWSLEX": "Amazon Lex", + "AWS_LEX_REGION": "אזור", + "AWS_BOT_NAME": "שם הבוט", + "ADDUSER_PROJECTS": "הוסף משתמשים לפרויקט", + "PERMISSIONADD_PROJECTS": "הוסף משתמשים לפרויקט", + "ALL_USERS": "כל המשתמשים", + "SELECTED_USERS": "משתמשים נבחרים", + "DIALOGFLOW": "ערוך פריט Dialogflow", + "DIALOGFLOW_LANGUAGE": "שפה", + "AWS_TEXT_TYPE": "סוג טקסט", + "PAUSE_ID": "סוג השהיה", + "FINDBY": "חפש לפי", + "LOGIN": "כניסה", + "PAUSE": "השהה", + "UNPAUSE": "סיים השהיה", + "LOGOUT": "יציאה", + "URI": "URI", + "SMS_ACCOUNT_ID": "חשבון", + "NAME": "שם", + "ODBC": "ODBC", + "TEST_ODBC": "בדוק ODBC", + "SEARCH_FOR_ANYONE": "חיפוש", + "BACK": "חזרה", + "SELECTED": "נבחר/ו", + "SELECT_ALL": "בחר הכול", + "SELECT_NONE": "אל תבחר אף פריט", + "DSN": "DSN", + "DESCRIPTION": "תיאור", + "ADD_ODBC": "הוסף ODBC", + "ERRORS": { + "NAME_REQUIRED": "שדה חובה", + "DSN_REQUIRED": "שדה חובה", + "PROJECT_REQUIRED": "שדה חובה", + "FIELD_REQUIRED": "שדה חובה" + }, + "EDIT_ODBC": "ערוך ODBC", + "DELETE_ODBC": "מחק ODBC", + "SAVE": "שמור", + "PROJECTS": "פרויקטים", + "ADD_PROJECT": "הוסף פרויקט", + "EDIT_PROJECT": "ערוך פרויקט", + "DELETE_PROJECT": "מחק פרויקט", + "CALLYSQUARE": "Cally Square", + "ID": "מזהה", + "NEW_ODBC": "חיבור ODBC חדש", + "SQUARERECORDINGS": "הקלטות", + "PROJECT": "פרויקט", + "UNIQUEID": "מזהה ייחודי", + "PHONE": "טלפון", + "EXTEN": "שלוחה", + "AUDIO": "אודיו", + "CREATED_AT": "נוצר ב-", + "NOTES": "פתקים ורשימות", + "NEW_PROJECT": "פרויקט חדש", + "EDIT": "ערוך", + "LABEL": "תווית", + "ANSWER": "תשובה", + "TIMEOUT": "זמן קצוב", + "SIP_ID": "SIP", + "OPTS": "אפשרויות", + "URL": "כתובת URL", + "TRUNK_NAME": "קו ראשי", + "START": "התחלה", + "FINALLY": "סופי", + "END": "סיום", + "HANGUP": "נתק", + "DIAL": "חייג", + "EXT_DIAL": "חיוג חיצוני", + "QUEUE": "תור", + "QUEUE_ID": "תור", + "FILE_ID": "אודיו", + "AGI": "AGI", + "MACRO": "מאקרו", + "GOSUB": "GoSub", + "POSITION": "מיקום", + "VOICEMAIL": "הודעה קולית", + "MAILBOX": "תיבת דואר", + "OPTIONS": "אפשרויות", + "SET": "קבוע", + "VARIABLE_ID": "משתנה", + "VARIABLE_VALUE": "ערך", + "MATH": "מתמטי", + "OPERATION": "פעולה", + "PLAYBACK": "השמעה", + "RESPONSE": "סוף זמן קצוב לתשובה", + "DIGIT": "מקס' ספרות", + "RETRY": "ניסיונות חוזרים", + "DIGITS": "ספרות", + "ESCAPE_DIGITS": "ספרות ביטול", + "MENU": "תפריט", + "SAYDIGITS": "אמור ספרות", + "SAYNUMBER": "אמור מספר", + "NUMBER": "מספר", + "SAYPHONETIC": "אמור קלט פונטי", + "TEXT": "טקסט", + "GOOGLE_TTS_LANGUAGE": "שפה", + "TTS": "טקסט-לדיבור של Google", + "ISPEECHTTS": "טקסט-לדיבור של iSpeech", + "KEY": "מפתח", + "ISPEECH_TTS_LANGUAGE": "שפה", + "SPEED": "מהירות", + "INTKEY": "מפתח עצירה", + "GETDIGITS": "קבל ספרות", + "MINDIGIT": "מינ' ספרות", + "MAXDIGIT": "מקס' ספרות", + "HIDDENDIGITSNUM": "מספר ספרות מוסתרות", + "HIDDENDIGITSPOS": "מיקום ספרות מוסתרות", + "GETSECRETDIGITS": "קבל ספרות סודיות", + "RECORD": "הקלט", + "FILE": "שם קובץ", + "RECORDINGFORMAT": "תבנית הקלטה", + "DATABASE": "מסד נתונים", + "ODBC_ID": "חיבור ODBC", + "QUERY": "שאילתה", + "MODEL": "מודל", + "ISPEECH_ASR_LANGUAGE": "שפה", + "BEEP": "צפצוף", + "ISPEECHASR": "iSpeech ASR", + "SENDSMS": "שלח SMS", + "ACCOUNT_ID": "חשבון", + "TO": "אל", + "SMS_TEXT": "טקסט", + "SENDMAIL": "שלח הודעת דוא\"ל", + "TEMPLATE_ID": "תבנית", + "CC": "עותק", + "BCC": "עותק עיוור", + "SUBJECT": "נושא", + "GOTOC": "Goto", + "CONTEXT": "הקשר", + "EXTENSION": "שלוחה", + "PRIORITY": "עדיפות", + "GOTOIF": "GotoIf", + "CONDITION": "תנאי", + "GOTOIFTIME": "GoToIfTime", + "INTERVAL_ID": "מרווח זמן", + "VSWITCH": "בורר משתנים", + "GOAL": "יעד", + "GOALNAME": "שם יעד", + "NOOP": "Noop", + "OUTPUT": "פלט", + "SYSTEM": "מערכת", + "COMMAND": "פקודה", + "ARGS": "ארגומנטים", + "SUBPROJECT": "פרויקט משני", + "PROJECT_ID": "פרויקט", + "CUSTOM_APP": "יישום מותאם אישית", + "APPLICATION": "יישום", + "CALLBACK": "החזרת שיחה", + "LASTNAME": "שם משפחה", + "LIST_ID": "רשימה", + "DELAY": "השהיה [דק']", + "OPEN_NEW_WINDOW": "פתח בחלון חדש", + "OPEN_PROJECT": "פתח פרויקט", + "COPY": "העתק", + "OPEN": "פתח", + "NEW": "חדש", + "COPY_PROJECT": "העתק פרויקט", + "NEW_VARIABLE": "משתנה חדש", + "ADD_VARIABLE": "הוסף משתנה", + "UPDATE_DESCRIPTION": "עדכן תיאור", + "EDIT_XML": "ערוך XML", + "IMPORT_XML": "יבא XML", + "IMPORT": "יבא", + "DROP_TO_UPLOAD": "שחרר כדי להעלות", + "DROP_TO_UPLOAD_MESSAGE": "אפשר גם לשחרר קבצים כאן כדי להעלות אותם. XML בלבד – מקס' 5MB", + "CLOSE": "סגור", + "NO_AVAILABLE_INFO": "אין פרטים זמינים", + "GO_TO_PROJECTS": "עבור לפרויקטים", + "UPDATE_INFO": "עדכן פרטים", + "AGENTS": "נציגים", + "TELEPHONES": "טלפונים", + "USERS": "משתמשים", + "HELP": { + "MAILBOX": "mailbox@context", + "DSN": "דוגמה: DRIVER=MySQL;SERVER=127.0.0.1;UID=xcall;PWD=password;DATABASE=motion", + "TO": "ניתן להוסיף מספר כתובות ולהפריד ביניהן בפסיקים (לדוגמה, john.doe@xcally.com, jane.miller@xcally.com)", + "CC": "ניתן להוסיף מספר כתובות ולהפריד ביניהן בפסיקים (לדוגמה, john.doe@xcally.com, jane.miller@xcally.com)", + "BCC": "ניתן להוסיף מספר כתובות ולהפריד ביניהן בפסיקים (לדוגמה, john.doe@xcally.com, jane.miller@xcally.com)" + }, + "CHOOSE_ATTACHMENT": "בחר קובץ מצורף", + "ATTACHMENT_NAME": "שם קובץ מצורף", + "ATTACHMENT_TYPE": "סוג קובץ מצורף", + "ATTACHMENT_PATH": "הנתיב אל הקובץ המצורף", + "SENDFAX": "שלח פקס", + "DELETE_SQUARERECORDING": "מחק הקלטת Square", + "DOWNLOAD_SQUARERECORDING": "הורד הקלטת Square", + "FILENAME": "שם קובץ", + "EDIT_SQUARERECORDING": "ערוך הקלטת Square", + "DELETE": "מחק", + "PAGE": "דף", + "ROWSPERPAGE": "שורות בדף", + "OF": "מתוך", + "CALLBACK_PRIORITY": "עדיפות", + "GOOGLE_ASR_LANGUAGE": "שפה", + "GOOGLEASR": "GoogleASR", + "AWSPOLLY": "AWS Polly", + "AWS_ACCESS_KEY_ID": "מזהה מפתח גישה", + "AWS_SECRET_ACCESS_KEY": "מפתח גישה סודי", + "AWS_POLLY_REGION": "אזור", + "AWS_POLLY_VOICE": "קול", + "LUMENVOXTTS": "טקסט-לדיבור של Lumenvox", + "LUMENVOXASR": "Lumenvox ASR", + "GRAMMAR": "דקדוק", + "TILDEASR": "Tilde ASR", + "APPID": "מזהה יישום", + "APPSECRET": "סוד של יישום" + } +} \ No newline at end of file diff --git a/public/app/main/apps/chat/i18n/he.json b/public/app/main/apps/chat/i18n/he.json new file mode 100644 index 0000000..404b8e1 --- /dev/null +++ b/public/app/main/apps/chat/i18n/he.json @@ -0,0 +1,436 @@ +{ + "CHAT": { + "EDIT_AMAZONLEX": "ערוך את Amazon Lex", + "AMAZONLEX": "Amazon Lex", + "ACCESSKEYID": "מזהה מפתח גישה", + "SECRETACCESSKEY": "מפתח גישה סודי", + "LEXREGION": "אזור", + "BOTNAME": "שם הבוט", + "LOGIN_TIME": "שעת כניסה", + "PAUSE_TIME": "שעת השהיה", + "DOWNLOAD_INTERACTION": "הורד", + "ENABLECUSTOMERCHECKMARKS": "אפשר הודעות מסירה/קריאה של לקוח", + "TRANSFER": "העבר", + "QUEUETRANSFER": "העברת תור", + "QUEUETRANSFERTIMEOUT": "סוף זמן קצוב להעברת תור", + "AGENTTRANSFER": "העברת נציג", + "AGENTTRANSFERTIMEOUT": "סוף זמן קצוב להעברת נציג", + "SYSTEMAVATAR": "דמות המערכת", + "SYSTEMALIAS": "כינוי המערכת", + "WELCOMEMESSAGE": "הודעת ברכה", + "LANGUAGE": "שפה", + "EDIT_DIALOGFLOW": "ערוך Dialogflow", + "DIALOGFLOW": "ערוך פריט Dialogflow", + "BACKGROUNDCOLOR": "צבע רקע", + "MESSAGEFONTSIZE": "גודל גופן בהודעה", + "TAG": "תג", + "EDIT_TAG": "ערוך תג", + "CUSTOMERALIAS": "כינוי הלקוח", + "SNIPPETSWIPEOUT": "סילוק גזיר", + "CUSTOMERAVATAR": "דמות הלקוח", + "SHOWCUSTOMERAVATAR": "הצג את דמות הלקוח", + "DEFAULTTITLE": "כותרת ברירת המחדל", + "MESSAGESALIGNMENT": "יישור הודעות", + "ALTERNATE": "לסירוגין", + "CENTERED": "ממורכז", + "POSITION": "מיקום", + "VERTICALPOSITION": "מיקום אנכי", + "ALIGNMENT": "יישור", + "VERTICALALIGNMENT": "יישור אנכי", + "BOTTOM_RIGHT": "יישור לצד ימין למטה", + "RIGHT": "ימין", + "LEFT": "שמאל", + "WAITFORTHEASSIGNEDAGENT": "המתן לנציג שהוקצה", + "AGENTIDENTIFIER": "מזהה", + "WEBSITEALIAS": "כינוי אתר האינטרנט", + "AGENTALIAS": "כינוי הנציג", + "AGENTFULLNAME": "שם מלא של הנציג", + "INSERT_MESSAGE_HERE": "הוסף כאן את הודעת הטקסט", + "HIDEWHENOFFLINE": "הסתר", + "NOTIFICATION": "הודעה", + "NOTIFICATIONSOUND": "צליל", + "NOTIFICATIONSHAKE": "לחיצה", + "NOTIFICATIONTEMPLATE": "תבנית", + "SYSTEM": "מערכת", + "EDIT_SYSTEM": "ערוך מערכת", + "COMMAND": "פקודה", + "TEXTCOLOR": "צבע טקסט", + "FONTSIZE": "גודל גופן", + "WEBSCRIPT": "סקריפט אינטרנט", + "CANNEDANSWERS": "תשובות מוכנות", + "CHATCANNEDANSWERS": "תשובות מוכנות", + "NO_CHATCANNEDANSWER_AVAILABLE": "אין תשובות מוכנות זמינות", + "NEW_CHATCANNEDANSWER": "תשובה מוכנה חדשה", + "ADD_CHATCANNEDANSWER": "הוסף תשובה מוכנה", + "EDIT_CHATCANNEDANSWER": "ערוך", + "DELETE_CHATCANNEDANSWER": "מחק", + "OFFLINEMESSAGESUBJECT": "נושא ההודעה", + "OFFLINEMESSAGEBODY": "גוף ההודעה", + "FORMSUBMITSUCCESSMESSAGE": "הודעת הצלחה במשלוח טופס", + "FORMSUBMITFAILUREMESSAGE": "הודעת כישלון במשלוח טופס", + "PLACEHOLDERMESSAGE": "מראה מקום של הודעה", + "NOTETITLE": "כותרת פתק/הערה", + "CLOSINGQUESTION": "שאלת סגירה", + "TAGS": "תגים", + "SHOWAGENTAVATAR": "הצג דמות נציג אישי", + "AGENTAVATAR": "דמות הנציג", + "SPYINTERACTION": "רגל", + "NO_AGENT_ONLINE": "אין נציג מקוון", + "GOTOREALTIME_CHATQUEUE": "עבור אל תור צ'אט Realtime", + "PARTIALPAUSE": "השהיה חלקית", + "BUSY": "תפוס", + "TIMER": "טיימר", + "IDLE": "במצב סרק", + "CAPACITY": "קיבולת", + "AGENTSADD_QUEUE": "הוסף נציג לתור הצ'אט", + "QUEUES": "תורים", + "LOGGED_IN": "מחובר", + "PAUSED": "מושהה", + "READY": "מוכן", + "WAITING": "בהמתנה", + "WRITING": "כותב", + "CHAT": "צ'אט", + "MAIL": "דוא\"ל", + "SMS": "SMS", + "OPENCHANNEL": "Openchannel", + "FAX": "פקס", + "PAUSE": "השהה", + "REALTIME": "Realtime", + "AGENTS": "נציגים", + "FULLNAME": "שם מלא", + "INTERNAL": "פנימי", + "PHONE_STATE": "מצב הטלפון", + "PHONE_STATUS": "סטטוס הטלפון", + "LOGOUT": "יציאה", + "UNPAUSE": "סיים השהיה", + "AGENTADD_QUEUE": "הוסף נציג לתור הצ'אט", + "TEXT": "טקסט", + "TIMES": "מספר הפעמים בכל אינטראקציה", + "EDIT_AUTOREPLY": "ערוך תשובה אוטומטית", + "AUTOREPLY": "תשובה אוטומטית", + "NEW_CHATDISPOSITION": "פריסת צ'אט חדשה", + "ENABLECUSTOMERATTACHMENT": "אפשר קבצים מצורפים של לקוחות", + "OFFLINE_CHAT_BUTTON": "לחצן 'צ'אט לא מקוון'", + "OFFLINESTATUS": "סטטוס חיבור לאינטרנט", + "NAME": "שם", + "CHATQUEUES": "תורי צ'אט", + "SEARCH_FOR_ANYONE": "חיפוש", + "STRATEGY": "אסטרטגיה", + "AGENT_TIMEOUT": "סוף זמן קצוב לנציג", + "DESCRIPTION": "תיאור", + "KEY": "מפתח", + "ALIAS": "כינוי", + "VARIABLE": "משתנה", + "INTERVAL": "מרווח זמן", + "EDIT_CLOSE": "ערוך סגירה", + "TIMEZONE": "אזור זמן", + "MESSAGE": "הודעה", + "ADVANCED": "מתקדם", + "FORWARDTRANSCRIPT": "העבר תעתיק", + "FORWARDTRANSCRIPTMESSAGE": "הודעת 'העבר תעתיק'", + "SKIPMESSAGEBUTTON": "לחצן 'דלג על הודעה'", + "EDIT_MESSAGE": "ערוך הודעה", + "CONDITION_AGREEMENT": "הסכמה על תנאים", + "NONE": "ללא", + "PRIORITY": "עדיפות", + "ONLINESTATUS": "סטטוס חיבור לאינטרנט", + "UNMANAGEDSTATUS": "סטטוס 'לא מנוהלות'", + "AUTOCLOSE": "אפשר סגירה אוטומטית", + "ENABLEUNMANAGEDNOTE": "אפשר הודעה לא מנוהלת", + "UNMANAGEDMESSAGE": "הודעה", + "SKIPUNMANAGED": "דלג על הודעה", + "SENDUNMANAGED": "שלח הודעה", + "WEBSITESCRIPT": "סקריפט של אתר אינטרנט", + "DELETE_OFFLINEMESSAGE": "מחק", + "OFFLINEMESSAGES": "הודעות לא מקוונות", + "FORWARD_OFFLINE": "העבר פריט לא מקוון", + "SHOW_OFFLINEMESSAGE": "הצג", + "FORWARD_OFFLINE_ADDRESS": "העבר כתובת לא מקוונת", + "CLOSINGFORM": "טופס סגירה", + "ENABLERATING": "אפשר דירוג", + "ENABLECUSTOMERWRITING": "אפשר ללקוח לכתוב לפני אישור נציג", + "ENABLEFEEDBACK": "אפשר משוב", + "RATINGTYPE": "סוג דירוג", + "CLOSINGMESSAGE": "הודעת סגירה", + "CLOSINGMESSAGEBUTTON": "לחצן הודעת סגירה", + "RATINGSTARSNUMBER": "מספר דירוג בכוכבים", + "EDIT_GOTOIF": "ערוך פריט GotoIf", + "CONDITION": "תנאי", + "TRUEPRIORITY": "עדיפות TRUE", + "FALSEPRIORITY": "עדיפות FALSE", + "VALUE": "ערך", + "ERRORS": { + "BOTNAME_REQUIRED": "שדה חובה", + "SECRETACCESSKEY_REQUIRED": "שדה חובה", + "ACCESSKEYID_REQUIRED": "שדה חובה", + "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "QUEUETRANSFERTIMEOUT_REQUIRED": "שדה חובה", + "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "AGENTTRANSFERTIMEOUT_REQUIRED": "שדה חובה", + "CUSTOMERALIAS_REQUIRED": "שדה חובה", + "AGENTALIAS_REQUIRED": "שדה חובה", + "SYSTEMALIAS_REQUIRED": "שדה חובה", + "MESSAGEFONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "MESSAGEFONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "MESSAGEFONTSIZE_REQUIRED": "שדה חובה", + "TAG_REQUIRED": "שדה חובה", + "VERTICALPOSITION_REQUIRED": "שדה חובה", + "VERTICALPOSITION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "VERTICALPOSITION_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "WAITFORTHEASSIGNEDAGENT_REQUIRED": "שדה חובה", + "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "NAME_MUST_VALID_PATTERN": "תבנית שגויה", + "COMMAND_REQUIRED": "שדה חובה", + "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "FONTSIZE_REQUIRED": "שדה חובה", + "TEXT_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "VALUE_REQUIRED": "שדה חובה", + "CUSTOMERALIAS_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "SYSTEMALIAS_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "OFFLINEMESSAGESUBJECT_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "OFFLINEMESSAGEBODY_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "PLACEHOLDERMESSAGE_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "NOTETITLE_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "FORMSUBMITSUCCESSMESSAGE_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "FORMSUBMITFAILUREMESSAGE_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "CLOSINGQUESTION_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "HEADER_OFFLINE_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "OFFLINE_CHAT_BUTTON_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "TEXT_REQUIRED": "שדה חובה", + "SENDUNMANAGED_REQUIRED": "שדה חובה", + "SENDUNMANAGED_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "SKIPUNMANAGED_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "UNMANAGEDMESSAGE_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "WEBSITEALIAS_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "AGENT_REQUIRED": "שדה חובה", + "QUEUE_REQUIRED": "שדה חובה", + "CONDITION_REQUIRED": "שדה חובה", + "PRIORITY_REQUIRED": "שדה חובה", + "TRUEPRIORITY_REQUIRED": "שדה חובה", + "FALSEPRIORITY_REQUIRED": "שדה חובה", + "NAME_REQUIRED": "שדה חובה", + "LIST_REQUIRED": "שדה חובה", + "AGENT_TIMEOUT_REQUIRED": "שדה חובה", + "MOTIONADDRESS_REQUIRED": "שדה חובה", + "DISPOSITION_REQUIRED": "שדה חובה", + "MOTIONADDRESS_MUST_VALID_URL": "תבנית שגויה", + "EMAIL_MUST_BE_VALID": "תבנית שגויה", + "ADDRESS_REQUIRED": "שדה חובה", + "ADDRESS_MUST_VALID_URL": "תבנית שגויה", + "ENQUIRY_FORWARDING_ADDRESS_REQUIRED": "שדה חובה", + "ACCEPTURL_MUST_VALID_URL": "תבנית שגויה", + "TIMEOUT_REQUIRED": "שדה חובה", + "REJECTURL_MUST_VALID_URL": "תבנית שגויה", + "CLOSEURL_MUST_VALID_URL": "תבנית שגויה", + "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": " הערך חייב להיות גדול או שווה ל-", + "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": " הערך חייב להיות גדול או שווה ל-", + "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": " הערך חייב להיות גדול או שווה ל-", + "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": " הערך חייב להיות גדול או שווה ל-", + "POLLING_INTERVAL_MUST_BE_GREATER_THAN_OR_EQUAL_TO": " הערך חייב להיות גדול או שווה ל-", + "WAITINGMESSAGE_REQUIRED": "שדה חובה", + "WAITINGTITLE_REQUIRED": "שדה חובה", + "KEY_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "KEY_REQUIRED": "שדה חובה", + "WAITINGMESSAGE_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "WAITINGTITLE_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "RATINGSTARSNUMBER_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-" + }, + "CM_FIELD": "שדה 'מנהל אנשי הקשר'", + "CHATPROACTIVEACTIONS": "פעולות יזומות", + "NEW_CHATPROACTIVEACTION": "פעולה יזומה חדשה", + "EDIT_CHATPROACTIVEACTION": "ערוך פעולה יזומה", + "DELETE_CHATPROACTIVEACTION": "מחק פעולה יזומה", + "ADD_CHATPROACTIVEACTION": "הוסף פעולה יזומה", + "NO_CHATPROACTIVEACTION_AVAILABLE": "אין פעולות יזומות זמינות", + "NO_OFFLINEMESSAGE_AVAILABLE": "אין הודעות לא מקוונות זמינות", + "MOUSEOVER": "מעבר מעל עם העכבר", + "TIMEOUT": "זמן קצוב", + "TYPE": "סוג", + "SELECTOR": "בורר", + "AGENT": "נציג", + "GOTO": "Goto", + "GOTOIF": "GotoIf", + "NOOP": "Noop", + "QUEUE": "תור", + "BUILDER": "בונה", + "PREVIEW": "תצוגה מקדימה", + "EDIT_AGENT": "ערוך נציג", + "EDIT_QUEUE": "ערוך תור", + "EDIT_GOTO": "ערוך פריט Goto", + "EDIT_GOTOIf": "ערוך פריט GotoIf", + "EDIT_NOOP": "ערוך פריט Noop", + "ADD_CHATQUEUE": "הוסף תור צ'אט", + "EDIT_CHATQUEUE": "ערוך תור צ'אט", + "DELETE_CHATQUEUE": "מחק תור צ'אט", + "SETTINGS": "הגדרות", + "SAVE": "שמור", + "SCRIPT": "סקריפט", + "TOKEN": "אסימון", + "CREATED_AT": "נוצר ב-", + "CHATWEBSITES": "אתרי אינטרנט לצ'אט", + "MOTIONADDRESS": "דומיין אתר האינטרנט", + "MOTIONPROXY": "פרוקסי או דומיין Motion", + "ADD_CHATWEBSITE": "הוסף אתר אינטרנט לצ'אט", + "EDIT_CHATWEBSITE": "ערוך אתר אינטרנט לצ'אט", + "DELETE_CHATWEBSITE": "מחק אתר אינטרנט לצ'אט", + "LIST": "רשימה", + "SNIPPET": "גזיר", + "FORMS": "טפסים", + "UP": "מעלה", + "DOWN": "מטה", + "COLLAPSE": "כווץ", + "PROACTIVEACTIONS": "פעולות יזומות", + "DISPOSITIONS": "פריסות", + "WEBHOOKS": "רכיבי WebHook", + "ACTIONS": "פעולות", + "FIDELITY": "מהימנות", + "APPEARANCE": "מראה", + "MAINCOLOR": "צבע ראשי", + "FOCUSCOLOR": "צבע מיקוד", + "BUTTONCOLOR": "צבע לחצן", + "HEADERSHAPE": "צורת כותרת עליונה", + "ANIMATION": "הנפשה", + "DEFAULT": "ברירת מחדל", + "WHITELABEL": "תווית לבנה", + "LOGO": "לוגו", + "DOWNLOADTRANSCRIPT": "הורד תעתיק", + "ENQUIRY_ENABLE": "אפשר שאילתה", + "ENQUIRY_FORWARDING": "העברת שאילתה", + "ENQUIRY_FORWARDING_ADDRESS": "כתובת להעברת שאילתה", + "LABELS": "תוויות", + "HEADER_ONLINE": "כותרת עליונה מקוונת", + "ONLINE_MESSAGE": "הודעת 'מקוון'", + "NAME_TITLE": "תווית קלט שם", + "USERNAME_PLACEHOLDER": "מראה מקום של קלט שם משתמש", + "EMAIL_TITLE": "תווית קלט דוא\"ל", + "EMAIL_PLACEHOLDER": "מראה מקום של קלט דוא\"ל", + "START_CHAT_BUTTON": "לחצן 'התחל צ'אט'", + "AGENTS_BUSY": "הודעת 'נציגים תפוסים'", + "HEADER_OFFLINE": "כותרת עליונה לא מקוונת", + "OFFLINE_MESSAGE": "הודעת 'לא מקוון'", + "MESSAGE_TITLE": "תווית הודעה", + "ENQUIRY_MESSAGE_PLACEHOLDER": "מראה מקום של קלט הודעת שאילתה", + "ENQUIRY_BUTTON": "טקסט בלחצן 'שאילתה'", + "RATING_MESSAGE": "הודעת דירוג", + "RATING_SEND": "טקסט בלחצן 'שלח דירוג'", + "RATING_SKIP": "טקסט בלחצן 'דלג על דירוג'", + "ONLINE": "מקוון", + "OFFLINE": "לא מקוון", + "PROACTIVE": "יזום", + "ACCEPT": "קבל", + "ACCEPTMETHOD": "שיטת קבלה", + "ACCEPTURL": "קבל כתובת URL", + "REJECT": "דחה", + "REJECTMETHOD": "שיטת דחייה", + "REJECTURL": "דחה כתובת URL", + "CLOSE": "סגור", + "CLOSEMETHOD": "שיטת סגירה", + "CLOSEURL": "סגור כתובת URL", + "EMBEDDING": "הטבעה", + "GENERAL": "כללי", + "SELECTED": "נבחר/ו", + "SELECT_ALL": "בחר הכול", + "SELECT_NONE": "אל תבחר אף פריט", + "BACK": "חזרה", + "HELP": { + "VERTICALPOSITION": "מייצג את המרחק מלמעלה, באחוזים", + "AGENTIDENTIFIER": "מייצג את מזהה הנציג בהפעלת הצ'אט שבתוך הגזיר", + "HIDEWHENOFFLINE": "מסתיר גזירים במצב לא מקוון", + "KEY": "השם הקצר של אתר האינטרנט (5 תווים) המוצג בכרטיסייה 'נציג'", + "TOKEN": "אסימון שמופק באופן אוטומטי ומשמש בסקריפט", + "INTEVAL": "לבחירה מתוך רשימת מרווחי הזמן הזמינים", + "TIMEZONE": "בחר מתוך הרשימה (ברירת המחדל = אזור הזמן המקומי)", + "ENABLERATING": "הפעל פריט זה כדי לאפשר לגולש לדרג את האינטראקציה בסופה", + "ENABLEFEEDBACK": "הפעל פריט זה כדי לאפשר לגולש לשלוח משוב (עד 150 תווים) בסיום האינטראקציה", + "FORWARDTRANSCRIPT": "הפעל פריט זה כדי לאפשר לגולש לקבל בדוא\"ל תעתיק של הצ'אט", + "AUTOCLOSE": "הפעל פריט זה כדי לסגור הפעלות צ'אט במצב לא מנוהל כאשר אין נציג זמין. פרטים נוספים בנושא זה: https://wiki.xcallymotion.com/display/XMV/Chat+Websites#ChatWebsites-Snippet", + "ENABLEUNMANAGEDNOTE": "הפעל פריט זה כדי להציג בפני הגולש הודעה כאשר כל הנציגים תפוסים והצ'אט במצב לא מנוהל", + "WEBSITEALIAS": "קידומת המשמשת ליצירת שם הנציג (קידומת+מזהה נציג) כפי שהוא מוצג לגולש במהלך הפעלת הצ'אט", + "ENABLECUSTOMERWRITING": " הפעל פריט זה כדי לאפשר לצ'אט להתחיל בלי להמתין לנציג זמין (שים לב: אם פריט זה יופעל, אף צ'אט לא יגיע למצב לא מנוהל). פרטים נוספים בנושא זה: https://wiki.xcallymotion.com/display/XMV/Chat+Websites#ChatWebsites-Snippet", + "MAPKEY": "שדה 'מנהל אנשי הקשר' הבא ב-Motion:", + "FROMKEY": "ימופה אל גזירי הצ'אט שלך ב-Motion כ:", + "COPYSCRIPTTOCLIPBOARD": "העתק והדבק את טקסט הסקריפט באתר האינטרנט שלך", + "FORWARD_OFFLINE": "ניתן להוסיף מספר כתובות ולהפריד ביניהן בפסיקים (לדוגמה, john.doe@xcally.com, jane.miller@xcally.com)", + "MOTIONADDRESS": "התבנית הבאה היא חובה בשדה זה: ://[:]. לדוגמה: https://X.Y.Z.W", + "MOTIONPROXY": "התבנית הבאה היא חובה בשדה זה: ://[:]. לדוגמה: https://X.Y.Z.W", + "NAME": "מותר לכלול רק ספרות, אותיות ותווים ספציפיים (._)", + "LIST": "רשימת 'מנהל אנשי הקשר' המשמשת לשיוך אנשי קשר", + "INTERVAL": "בחר פריט אחד מהרשימה", + "WELCOMEMESSAGE": "השאר ריק אם אינך מעוניין לשלוח הודעת ברכה" + }, + "ADDRESS": "כתובת", + "ONLINESTATE": "סטטוס חיבור לאינטרנט", + "OFFLINESTATE": "סטטוס חיבור לאינטרנט", + "RATINGSTATE": "מצב הדירוג", + "ENQUIRY": "שאילתה", + "OFFLINETEMPLATE": "תבנית לא מקוונת", + "CHATDISPOSITIONS": "פריסות צ'אט", + "NO_CHATDISPOSITION_AVAILABLE": "אין פריסות צ'אט זמינות", + "ADD_CHATDISPOSITION": "הוסף פריסת צ'אט", + "DELETE": "מחק", + "EDIT_CHATDISPOSITION": "ערוך פריסת צ'אט", + "DELETE_CHATDISPOSITION": "מחק פריסת צ'אט", + "ID": "מזהה", + "NEW_CHATQUEUE": "תור צ'אט חדש", + "NEW_CHATWEBSITE": "אתר צ'אט חדש", + "ROUNDED": "מעוגל", + "SQUARED": "רבוע", + "NO_AVAILABLE_INFO": "אין פרטים זמינים", + "ALL_TEAMS": "כל הצוותים", + "SELECTED_TEAMS": "צוותים נבחרים", + "PAGE": "דף", + "ROWSPERPAGE": "שורות בדף", + "OF": "מתוך", + "CONTACT": "איש קשר", + "STARTEDAT": "החל ב-", + "STATUS": "סטטוס", + "CLOSED": "סגור", + "OPENED": "פתח", + "OPEN": "פתח", + "ACCOUNT": "חשבון", + "INTERACTION": "אינטראקציה", + "INTERACTIONS": "אינטראקציות", + "WEBSITE": "אתר אינטרנט", + "ALL": "הכול", + "SELECT_STATUS": "בחר סטטוס", + "FILTER": "מסנן", + "FILTERS": "מסננים", + "TEAMADD_CHATQUEUE": "הוסף צוות לתור הצ'אט", + "AGENTADD_CHATQUEUE": "הוסף נציג לתור הצ'אט", + "ALL_AGENTS": "כל הנציגים", + "SELECTED_AGENTS": "נציגים נבחרים", + "CLOSEDAT": "נסגר ב-", + "DISPOSITION": "פריסה", + "CREATEDAT": "נוצר ב-", + "NOTES": "פתקים ורשימות", + "NO_INTERACTION_AVAILABLE": "אין אינטראקציות זמינות", + "SELECTED_WEBSITE": "בחר אתר אינטרנט", + "GOTOP": "Gotop", + "EDIT_GOTOP": "ערוך פריט Gotop", + "SELECT_WEBSITE": "בחר אתר אינטרנט", + "INFO": "מידע", + "OFFLINEMESSAGES_CHATWEBSITE": "עבור אל הודעות לא מקוונות", + "WAITINGTITLE": "ממתין לכותרת", + "WAITINGMESSAGE": "ממתין להודעה", + "RATING": "דירוג", + "NO_RATINGVALUE": "אין דירוג", + "DEFAULT_PAUSE": "השהיית ברירת המחדל", + "UNKNOWN": "לא מזוהה", + "UNREGISTERED": "לא רשום", + "UNAVAILABLE": "לא זמין", + "NOT_INUSE": "לא בשימוש", + "REACHABLE": "נגיש", + "IN_USE": "בשימוש", + "VOICE": "קול", + "INTERACTIONS_CHATWEBSITE": "עבור אל אינטראקציות", + "REFRESH_INTERACTIONS": "רענן אינטראקציות", + "DELETE_INTERACTION": "מחק אינטראקציה", + "AGENTADD_CHATWEBSITE": "הוסף נציג לאתר צ'אטים" + } +} \ No newline at end of file diff --git a/public/app/main/apps/contactmanager/i18n/he.json b/public/app/main/apps/contactmanager/i18n/he.json new file mode 100644 index 0000000..8e48d52 --- /dev/null +++ b/public/app/main/apps/contactmanager/i18n/he.json @@ -0,0 +1,167 @@ +{ + "CONTACTMANAGER": { + "SELECT_TAG": "בחר תגים", + "CUSTOMER_JOURNEY": "מסע הלקוח", + "USERID": "בצע חיוג חוזר למזהה נציג", + "PRIORITY": "עדיפות", + "MOTIONDIALER": "Motion Bull", + "IMPORT_CONTACTS": "יבא אנשי קשר", + "PREFIX": "קידומת חיוג", + "VOICEQUEUEID": "מזהה תור קול", + "CAMPAIGNID": "מזהה מבצע", + "STATE": "מדינה", + "NAME": "שם", + "LISTS": "רשימות", + "UNIQUEID": "מזהה ייחודי", + "STATUS": "סטטוס", + "STARTTIME": "שעת התחלה", + "ENDTIME": "שעת סיום", + "MOTION_BULL": "Motion Bull", + "HOPPER": "משפך", + "FINAL": "משפך סופי", + "HISTORY": "היסטוריית משפך", + "SCHEDULEDAT": "שובץ ב-", + "SEARCH_FOR_ANYONE": "חיפוש", + "EDIT_LIST": "ערוך רשימה", + "EDIT_HOPPER": "ערוך משפך", + "DELETE_LIST": "מחק רשימה", + "DELETE_HOPPER": "מחק משפך", + "RELOAD": "טען מחדש", + "NO_COMPANIES": "אין חברה", + "NO_AVAILABLE_ITEMS": "אין פריטים זמינים", + "ADD": "הוסף", + "ERRORS": { + "NAME_REQUIRED": "שדה חובה", + "FIRSTNAME_REQUIRED": "שדה חובה", + "PHONE_REQUIRED": "שדה חובה", + "ALIAS_REQUIRED": "שדה חובה", + "VALUE_REQUIRED": "שדה חובה", + "EMAIL_MUST_VALID": "תבנית שגויה", + "PHONEBAR_API": "ודא כי Motionbar פועל וכי מתג השלט רחוק של הנציג מופעל" + }, + "DESCRIPTION": "תיאור", + "DISPOSITION": "פריסה", + "DISPOSITIONS": "פריסות", + "VOICEDISPOSITIONS": "פריסות קול", + "NEW_VOICEDISPOSITION": "פריסת קול חדשה", + "CUSTOM_FIELDS": "שדות חובה", + "ADD_LIST": "הוסף רשימה", + "BACK": "חזרה", + "SELECTED": "נבחר/ו", + "SELECT_ALL": "בחר הכול", + "SELECT_NONE": "אל תבחר אף פריט", + "COMPANIES": "חברות", + "EDIT_COMPANY": "ערוך חברה", + "DELETE_COMPANY": "מחק חברה", + "PHONE": "טלפון", + "EMAIL": "דוא\"ל", + "ADD_COMPANY": "הוסף חברה", + "CONTACTS": "אנשי קשר", + "NEW_LIST": "רשימה חדשה", + "FIRSTNAME": "שם פרטי", + "LASTNAME": "שם משפחה", + "LIST": "רשימה", + "COMPANY": "חברה", + "ADD_CONTACT": "הוסף איש קשר", + "EDIT_CONTACT": "ערוך איש קשר", + "MERGE_CONTACT": "מזג אנשי קשר", + "DUPLICATE_CONTACT": "כפילות באיש קשר", + "DELETE_CONTACT": "מחק איש קשר", + "CREATED_AT": "נוצר ב-", + "SAVE": "שמור", + "DETAIL": "פרט", + "PERSONAL_INFO": "פרטים אישיים", + "MOBILE": "נייד", + "FAX": "פקס", + "TAGS": "תגים", + "SHOW_ALL_FIELDS": "הצג את כל השדות", + "FEWER_FIELDS": "הצג פחות שדות", + "COUNTRY": "מדינה", + "CITY": "עיר", + "STREET": "רחוב", + "POSTALCODE": "מיקוד", + "DELETE": "מחק", + "DELETE_ALL": "מחק הכול", + "CONTACTMANAGER": "מנהל אנשי הקשר", + "ID": "מזהה", + "SETTINGS": "הגדרות", + "GENERAL": "כללי", + "CUSTOMFIELDS": "שדות חובה", + "NO_CUSTOMFIELD_AVAILABLE": "אין שדות חובה זמינים", + "ADD_TAG": "הוסף תג", + "NO_TAG": "אין תגים", + "ALIAS": "כינוי", + "TYPE": "סוג", + "VALUE": "ערך", + "ADD_CUSTOMFIELD": "הוסף שדה מותאם אישית", + "EDIT_CUSTOMFIELD": "ערוך שדה מותאם אישית", + "DELETE_CUSTOMFIELD": "מחק שדה מותאם אישית", + "NEW_COMPANY": "חברה חידשה", + "NEW_CONTACT": "איש קשר חדש", + "NEW_TAG": "תג חדש", + "UPLOAD_CONTACTS": "העלה אנשי קשר", + "FINISH": "סיום", + "SUCCESS": "הצלחה", + "FAILURE": "כישלון", + "ALL_CONTACTS": "כל אנשי הקשר", + "NEW_CUSTOMFIELD": "שדה חובה חדש", + "NO_VOICEDISPOSITION_AVAILABLE": "אין פריסות קול זמינות", + "ADD_VOICEDISPOSITION": "הוסף פריסת קול", + "EDIT_VOICEDISPOSITION": "ערוך פריסת קול", + "DELETE_VOICEDISPOSITION": "מחק פריסת קול", + "VAT": "מע\"מ", + "COMPANYID": "מזהה חברה", + "WEBSITE": "אתר אינטרנט", + "EMAIL_DOMAIN": "דומיין הדוא\"ל", + "ADDRESS": "כתובת", + "POSTAL_CODE": "מיקוד", + "SHIPMENTADDRESS": "כתובת למשלוח", + "COPY_CONTACT": "העתק קשר חדש", + "GOTOCONTACTS_LIST": "הצג אנשי קשר", + "GOTOCONTACTS_COMPANY": "הצג אנשי קשר", + "ADD_AGENT_TO_LIST": "הוסף נציג לרשימה", + "AGENTADD_LIST": "הוסף נציגים לרשימה", + "NO_AVAILABLE_INFO": "אין פרטים זמינים", + "NONE": "ללא", + "FULLNAME": "שם מלא", + "CHECK_DUPLICATES": "בדוק כפילויות", + "DUPLICATES": "כפילויות", + "UPLOAD_CSV": "העלה קובץ CSV", + "TAG": "תג", + "UPLOAD": "העלה", + "ALL_AGENTS": "כל הנציגים", + "SELECTED_AGENTS": "נציגים נבחרים", + "DATE_OF_BIRTH": "תאריך לידה", + "DATEOFBIRTH": "תאריך לידה", + "NOTES": "פתקים ורשימות", + "EXPORTCSVCONTACTS_LIST": "ייצא לקובץ CSV", + "GOTO_LIST": "הצג אנשי קשר", + "GOTO_COMPANY": "הצג אנשי קשר", + "REQUIRED": "חובה", + "GLOBALCUSTOMFIELDS": "שדות גלובליים מותאמים אישית", + "NEW_GLOBALCUSTOMFIELD": "שדות מותאמים אישית חדשים", + "ADD_GLOBALCUSTOMFIELD": "הוסף שדה מותאם אישית", + "EDIT_GLOBALCUSTOMFIELD": "ערוך שדה מותאם אישית", + "DELETE_GLOBALCUSTOMFIELD": "מחק שדה מותאם אישית", + "JSCRIPTY": "Jscripty", + "SESSIONS": "הפעלות", + "AGENT": "נציג", + "PROJECT": "פרויקט", + "SELECT_LIST": "בחר רשימה", + "SELECT_COMPANY": "בחר חברה", + "SELECT_TAGS": "בחר לפחות תג אחד", + "HELP": { + "PHONEBAR_API_MESSAGE": "כדי להפעיל 'לחץ כדי לחייג', הוסף מספר טלפון וודא כי מתג השלט רחוק של הנציג הועבר למצב מופעל", + "PHONEBAR_API": "כדי להפעיל 'לחץ כדי לחייג', הוסף מספר טלפון וודא כי מתג השלט רחוק של הנציג הועבר למצב מופעל" + }, + "PAGE": "דף", + "ROWSPERPAGE": "שורות בדף", + "OF": "מתוך", + "SOCIAL": "חברתי", + "ROW": "שורה", + "EXPORT_ERRORS": "שגיאות יצוא", + "UPLOAD_COMPLETED": "ההעלאה הושלמה", + "STOP": "עצור", + "SELECT_FILE": "בחר קובץ" + } +} \ No newline at end of file diff --git a/public/app/main/apps/dashboards/i18n/he.json b/public/app/main/apps/dashboards/i18n/he.json new file mode 100644 index 0000000..385b92d --- /dev/null +++ b/public/app/main/apps/dashboards/i18n/he.json @@ -0,0 +1,317 @@ +{ + "DASHBOARDS": { + "DOWNLOAD": "הורד", + "UNMANAGED_RATE": "שיעור לא מנוהל", + "UNMANAGED_RATE_TEXT": "שיעור אינטראקציות לא מנוהלות", + "VOICE_WAITING": "בהמתנה", + "VOICE_WAITING_TEXT": "שיחות ממתינות בתור", + "VOICE_TALKING": "משוחח", + "VOICE_TALKING_TEXT": "שיחות פעילות בתור", + "VOICE_ANSWERED": "נענה", + "VOICE_ANSWERED_TEXT": "שיחות בתור שנענו", + "VOICE_ABANDONED": "ננטש", + "VOICE_ABANDONED_TEXT": "שיחות בתור שננטשו", + "VOICE_TOTAL_OFFERED": "סה\"כ הוצעו", + "VOICE_TOTAL_OFFERED_TEXT": "סה\"כ שיחות בתור", + "TODAY_INTERACTIONS_STATS": "סטטיסטיקות יומיות על אינטראקציות", + "VOICE_AVG_HOLD_TIME": "ממוצע זמן המתנה", + "VOICE_AVG_HOLD_TIME_TEXT": "ממוצע זמן המתנה של שיחות בתור", + "VOICE_AVG_TALK_TIME": "ממוצע זמן שיחה", + "VOICE_AVG_TALK_TIME_TEXT": "זמן שיחה של שיחות בתור", + "VOICE_ANSWER_RATE": "שיעור מענה", + "VOICE_ANSWER_RATE_TEXT": "שיעור מענה לשיחות בתור", + "VOICE_ABANDON_RATE": "שיעור נטישה", + "VOICE_ABANDON_RATE_TEXT": "שיעור נטישה של שיחות בתור", + "VOICE_UNMANAGED": "לא מנוהל", + "VOICE_UNMANAGED_TEXT": "שיחות לא מנוהלות בתור שיחות", + "OPENED_TEXT": "אינטראקציות שנפתחו", + "MANAGED": "מנוהל", + "MANAGED_TEXT": "אינטראקציות מנוהלות", + "ABANDONED": "ננטש", + "ABANDONED_TEXT": "אינטראקציות שננטשו", + "ABANDONED_RATE": "שיעור נטישה", + "ABANDONED_RATE_TEXT": "שיעור אינטראקציות שננטשו", + "TOTAL_OFFERED": "סה\"כ הוצעו", + "TOTAL_OFFERED_TEXT": "אינטראקציות שהוצעו", + "AVG_HOLD_TIME_TEXT": "ממוצע זמן המתנה של אינטראקציות", + "MANAGED_RATE": "שיעור מנוהל", + "MANAGED_RATE_TEXT": "שיעור אינטראקציות מנוהלות ", + "AVG_MANAGED_TIME": "ממוצע זמן ניהול", + "AVG_MANAGED_TIME_TEXT": "ממוצע זמן הניהול של אינטראקציות", + "NO_DISPOSITION_SET": "לא הוגדרה פריסה", + "AGENTS": "נציגים", + "TRANSFER": "העבר", + "NO_DATA_AVAILABLE": "אין נתונים זמינים", + "CUSTOMER_JOURNEY": "מסע הלקוח", + "ME": "אני", + "CURRENTLY_IN_USE_BY": "כרגע בשימוש של", + "NOTAVAILABLE": "לא זמין", + "CLICKRELOAD": "שיחות נטושות חדשות! טען מחדש", + "ASSIGNTO": "הקצה ל-", + "SELECT_CAMPAIGN": "בחר תור", + "FREE": "במצב פנוי", + "RESERVED": "שמור", + "QUEUECALLEREXITREASON": "סיבה", + "QUEUECALLEREXITAT": "נותק", + "LASTASSIGNEDTO": "הקצאה אחרונה ל-", + "ABANDONEDQUEUECALLS": "שיחות בתור שננטשו", + "ABANDONAT": "ננטש", + "QUEUE": "תור", + "SELECT_SUBSTATUS": "בחר סטטוס משני", + "READ": "נקרא", + "UNREAD": "לא נקרא", + "SELECT_READ_UNREAD": "בחר נקרא/לא נקרא", + "SELECT_AGENT": "בחר נציג", + "MARK_AS_UNREAD": "סמן כ'לא נקרא'", + "FILTER_VOICE_QUEUES": "סנן תורי קול", + "CHANNEL_WAITING_TEXT": "אינטראקציות בהמתנה בתור", + "CHANNEL_QUEUE": "תור", + "CHANNEL_FROM": "מאת", + "LOADING_INTERACTION": "האינטראקציה בטעינה...", + "JANUARY": "ינואר", + "FEBRUARY": "פברואר", + "MARCH": "מרץ", + "APRIL": "אפריל", + "MAY": "מאי", + "JUNE": "יוני", + "JULY": "יולי", + "AUGUST": "אוגוסט", + "SEPTEMBER": "ספטמבר", + "OCTOBER": "אוקטובר", + "NOVEMBER": "נובמבר", + "DECEMBER": "דצמבר", + "MON": "יום ב'", + "TUE": "יום ג'", + "WED": "יום ד'", + "THU": "יום ה'", + "FRI": "יום ו'", + "SAT": "שבת", + "SUN": "יום א'", + "DELETE": "מחק", + "LAST_3_DAYS": "3 ימים אחרונים", + "LAST_YEAR": "שנה אחרונה", + "THIS_YEAR": "שנה נוכחית", + "LAST_MONTH": "החודש שעבר", + "THIS_MONTH": "החודש", + "LAST_WEEK": "שבוע שעבר", + "THIS_WEEK": "השבוע", + "YESTERDAY": "אתמול", + "TODAY": "היום", + "SELECT_DATE": "בחר תאריך התחלה", + "HOME": "בית", + "SET_AS": "הגדר כ-", + "PENDING": "בהמתנה", + "CANNED_ANSWER_NOT_FOUND": "לא נמצאו תשובות מוכנות", + "CANNED_ANSWER_SEARCH": "הזן טקסט כדי לחפש תשובה מוכנה", + "TAGS": "תגים", + "SELECT_TAG": "בחר תג", + "TYPE": "סוג", + "SOURCE": "מקור", + "DESTINATION": "יעד", + "CALLERID": "מזהה מתקשר", + "END_AT": "סיום ב-", + "DURATION": "משך", + "CHAT": "צ'אט", + "MAIL": "דוא\"ל", + "SMS": "SMS", + "OPENCHANNEL": "פתח ערוץ", + "FAX": "פקס", + "NOT_ASSIGNED": "לא הוקצה", + "UNKNOWN": "לא מזוהה", + "SELECT_USER": "בחר משתמש", + "LAST_MESSAGE": "הודעה אחרונה", + "USER": "משתמש", + "RATING": "דירוג", + "FEEDBACK": "משוב", + "SUBJECT": "נושא", + "CUSTOMER_IP": "כתובת IP של לקוח", + "REFERER": "גורם מפנה", + "ACCOUNT": "חשבון", + "WEBSITE": "אתר אינטרנט", + "AGENT": "נציג", + "CREATED_AT": "נוצר ב-", + "CLOSED_AT": "נסגר ב-", + "DISPOSITION": "פריסה", + "CONTACT": "איש קשר", + "INTERACTION": "אינטראקציה", + "BROWSER_NAME": "שם הדפדפן", + "BROWSER_VERSION": "גרסת הדפדפן", + "OS_NAME": "שם מערכת ההפעלה", + "OS_VERSION": "גרסת מערכת ההפעלה", + "DEVICE_MODEL": "דגם המכשיר", + "DEVICE_VENDOR": "יצרן המכשיר", + "DEVICE_TYPE": "סוג המכשיר", + "RECALLME": "בצע חיוג חוזר אליי", + "DROP_RATE": "שיעור ניתוקים", + "DROPPED": "נותק", + "DROPPED_TEXT": "שיחות בתור שנותקו", + "DETAIL": "פרט", + "MOTION_BULL": "Motion Bull", + "LIMITED": "מוגבל", + "LIMITED_TEXT": "מקור/הגבלת שיחות של מבצעי IVR", + "DASHBOARDS": "לוחות מחוונים", + "RECORDINGS": "הקלטות", + "TODAY_MOTION_BULL_STATS": "סטטיסטיקות יומיות על מבצעי תורים", + "ORIGINATED": "מקור", + "ORIGINATED_TEXT": "מקור שיחות בתור", + "UPDATE": "עדכן", + "MORE": "עוד", + "MOTIONDIALER": "Motion Bull", + "DISPOSE": "בצע פריסה", + "QUEUES": "תורים", + "DIALER_CALL": "שיחת חייגן", + "ELAPSED_TIME": "משך הזמן שעבר", + "EDIT": "ערוך", + "MERGE": "מזג", + "DUPLICATE": "כפילות", + "UNIQUEID": "מזהה ייחודי", + "CAMPAIGN": "מבצע", + "NONE": "ללא", + "NAME": "שם", + "ANSWER_MACHINE": "משיבון", + "INTERESTED": "מעוניין", + "NOT_INTERESTED": "לא מעוניין", + "PERSONAL_INFO": "פרטים אישיים", + "SOLD": "נמכר", + "SPECIAL": "מיוחד", + "BLACKLIST": "רשימה שחורה", + "RESCHEDULE": "שבץ במועד חדש", + "FIRSTNAME": "שם פרטי", + "LASTNAME": "שם משפחה", + "MOBILE": "נייד", + "DATE_OF_BIRTH": "תאריך לידה", + "COMPANY": "חברה", + "TAG": "תג", + "COUNTRY": "מדינה", + "CITY": "עיר", + "STREET": "רחוב", + "POSTALCODE": "מיקוד", + "CUSTOM_FIELDS": "שדות חובה", + "GENERAL": "כללי", + "VOICE": "קול", + "TODAY_IVR_CAMPAIGNS_STATS": "סטטיסטיקות יומיות על מבצעי IVR", + "TODAY_INBOUND_STATS": "סטטיסטיקות יומיות על תור שיחות נכנסות", + "TODAY_OUTBOUND_STATS": "סטטיסטיקות יומיות על תור שיחות יוצאות", + "WAITING": "בהמתנה", + "TALKING": "משוחח", + "INBOUND_ANSWERED": "נענה", + "OUTBOUND_ANSWERED": "נענה", + "AVG_HOLD_TIME": "ממוצע זמן בהמתנה", + "INBOUND_ANSWER_RATE": "שיעור מענה", + "OUTBOUND_ANSWER_RATE": "שיעור מענה", + "ABANDON_RATE": "שיעור נטישה", + "UNMANAGED": "לא מנוהלות", + "TOTAL": "סה\"כ", + "TOT_DURATION": "משך כולל", + "AVG_DURATION": "משך ממוצע", + "HELP": { + "UNMANAGED_RATE": "השיעור הכולל של אינטראקציות לא מנוהלות", + "WAITING": "המספר הכולל של אינטראקציות בהמתנה", + "OPENED": "המספר הכולל של אינטראקציות פעילות", + "MANAGED": "המספר הכולל של אינטראקציות שהושלמו", + "ABANDONED": "המספר הכולל של אינטראקציות שננטשו", + "TOTAL_OFFERED": "המספר הכולל של אינטראקציות (הושלמו + ננטשו)", + "AVG_HOLD_TIME": "ממוצע זמן המתנה של אינטראקציה, כלומר משך הזמן הממוצע שעבר בהמתנה למענה של נציג עבור כל האינטראקציות הקיימות", + "AVG_MANAGED_TIME": "ממוצע זמן ניהול של אינטראקציה, כלומר משך הזמן הממוצע שעבר בשיחה", + "MANAGED_RATE": "השיעור הכולל של אינטראקציות מנוהלות", + "ABANDONED_RATE": "השיעור הכולל של אינטראקציות שננטשו", + "UNMANAGED": "המספר הכולל של אינטראקציות לא מנוהלות", + "VOICE_WAITING": "המספר הכולל של שיחות בהמתנה בכל התורים הקיימים", + "VOICE_TALKING": "המספר הכולל של שיחות פעילות בכל התורים הקיימים", + "VOICE_ANSWERED": "המספר הכולל של שיחות שהושלמו בכל התורים הקיימים", + "VOICE_ABANDONED": "המספר הכולל של שיחות שננטשו בכל התורים הקיימים. לתשומת לב: שיחות שננטשו בגלל סיום זמן קצוב ו-joinempty לא יובאו בחשבון", + "VOICE_TOTAL_OFFERED": "המספר הכולל של שיחות בתור (הושלמו + ננטשו). לתשומת לב: שיחות שנכנסו ל-IVR ואינן בתור לא יובאו בחשבון", + "VOICE_AVG_TALK_TIME": "ממוצע זמן שיחה, כלומר משך הזמן הממוצע שעבר בשיחה בכל התורים הקיימים", + "VOICE_AVG_HOLD_TIME": "ממוצע זמן המתנה, כלומר משך הזמן הממוצע שעבר בהמתנה למענה של נציג בכל התורים הקיימים", + "VOICE_ANSWER_RATE": "השיעור הכולל של מענה בכל התורים הקיימים", + "VOICE_UNMANAGED": "המספר הכולל של שיחות לא מנוהלות בכל התורים הקיימים. כולל שיחות שננטשו עקב סיום הזמן הקצוב וכן joinempty‏, leavewhenempty ו-exitwithkey ‏(לפרטים נוספים – עיין במסמך המסומן בכוכבית)", + "ORIGINATED": "המספר הכולל של שיחות שחויבו במבצעי התורים", + "ORIGINATEDLIMITED": "מקור/הגבלת שיחות של מבצעי IVR", + "DROPPED": "המספר הכולל של שיחות שנותקו בכל התורים הקיימים", + "DROP_RATE": "השיעור הכולל של ניתוקים בכל התורים הקיימים", + "OUTBOUND_ANSWERED": "המספר הכולל של שיחות יוצאות שהושלמו", + "OUTBOUND_ANSWER_RATE": "השיעור הכולל של מענה בכל השיחות היוצאות", + "ABANDON_RATE": "השיעור הכולל של אינטראקציות שננטשו בכל התורים", + "TOTAL": "המספר הכולל של שיחות יוצאות", + "TOT_DURATION": "המשך הכולל של כל השיחות היוצאות", + "AVG_DURATION": "המשך הממוצע של כל השיחות היוצאות שהושלמו" + }, + "ERRORS": { + "FIRSTNAME_REQUIRED": "שדה חובה", + "PHONE_REQUIRED": "שדה חובה", + "DISPOSITION_REQUIRED": "שדה חובה", + "AGENT_REQUIRED": "שדה חובה", + "QUEUE_REQUIRED": "שדה חובה" + }, + "NO_AVAILABLE_INFO": "אין פרטים זמינים", + "WELCOME_TO_MOTION": "ברוך הבא אל Motion", + "WELCOME_MESSAGE": "היעזר בתיבה הצדית לניווט בין המקטעים הזמינים", + "ADD": "הוסף", + "CONTACTMANAGER": "מנהל אנשי הקשר", + "DASHBOARD": "לוח מחוונים", + "EDIT_CONTACT": "ערוך איש קשר", + "EMAIL": "דוא\"ל", + "FULLNAME": "שם מלא", + "LIST": "רשימה", + "NEW_CONTACT": "איש קשר חדש", + "PHONE": "טלפון", + "SAVE": "שמור", + "INBOUND_WAITING_CALLS": "שיחות נכנסות ממתינות", + "CONTACTS": "אנשי קשר", + "MYCONTACTS": "אנשי הקשר שלי", + "ADD_CONTACT": "הוסף איש קשר", + "RELOAD": "טען מחדש", + "WAITING_TEXT": "אינטראקציות בהמתנה", + "TALKING_TEXT": "שיחות פעילות בתור", + "INBOUND_ANSWERED_TEXT": "שיחות בתור שנענו", + "DROP_RATE_TEXT": "שיעור ניתוקים של שיחות בתור", + "AVG_TALK_TIME_TEXT": "זמן שיחה של שיחות בתור", + "INBOUND_ANSWER_RATE_TEXT": "שיעור מענה לשיחות בתור", + "UNMANAGED_TEXT": "אינטראקציות לא מנוהלות", + "TOTAL_TEXT": "סה\"כ שיחות יוצאות", + "OUTBOUND_ANSWERED_TEXT": "שיחות יוצאות שנענו", + "TOT_DURATION_TEXT": "משך כולל של שיחות יוצאות", + "AVG_DURATION_TEXT": "משך ממוצע של שיחות יוצאות", + "OUTBOUND_ANSWER_RATE_TEXT": "שיעור מענה לשיחות יוצאות", + "PAGE": "דף", + "ROWSPERPAGE": "שורות בדף", + "OF": "מתוך", + "REPLY_PLACEHOLDER": "הקלד והקש Enter כדי לשלוח הודעה", + "CONTACT_INFO": "פרטי איש הקשר", + "CLOSE_AND_DISPOSE": "סגור ופרוס", + "DISPOSITIONS": "פריסות", + "CLOSE_WITHOUT_DISPOSE": "סגור ללא פריסה", + "ACCEPT": "קבל", + "REJECT": "דחה", + "CLOSED": "סגור", + "INFO": "מידע", + "NOTE": "פתק/הערה", + "ACCEPT_ELSEWHERE": "התקבלה במקום אחר", + "ATTENTION": "לתשומת לב", + "SOCIAL": "חברתי", + "NO_JSCRIPTY_PROJECTS_AVAILABLE": "אין פרויקטים זמינים של Jscripty", + "OPENED": "פתוח", + "FILTER": "מסנן", + "SELECT_STATUS": "בחר סטטוס", + "SELECT_ACCOUNT": "בחר חשבון", + "SELECT_WEBSITE": "בחר אתר אינטרנט", + "ALL": "הכול", + "INTERACTIONS": "אינטראקציות", + "STARTEDAT": "החל ב-", + "STATUS": "סטטוס", + "OPEN": "פתח", + "SHOW": "הצג", + "SHOW_DETAILS": "הצג פרטים", + "HIDE_DETAILS": "הסתר פרטים", + "EXTERNAL_URL": "קישור חיצוני", + "NO_MAIL_ACCOUNTS_AVAILABLE": "אין חשבונות דוא\"ל זמינים", + "NO_FAX_ACCOUNTS_AVAILABLE": "אין חשבונות פקס זמינים", + "NO_SMS_ACCOUNTS_AVAILABLE": "אין חשבונות SMS זמינים", + "SELECT_DATE_RANGE": "בחר טווח תאריכים", + "CLEAR": "נקה", + "CALL_NUMBER": "שיחה", + "TRANSFER_NUMBER": "העבר", + "CALL_SAVED": "השיחה נשמרה בהצלחה", + "CALL_DISPOSED": "השיחה נפרסה בהצלחה" + } +} \ No newline at end of file diff --git a/public/app/main/apps/dashboards/i18n/ja.json b/public/app/main/apps/dashboards/i18n/ja.json index 9d2049d..8e3d771 100644 --- a/public/app/main/apps/dashboards/i18n/ja.json +++ b/public/app/main/apps/dashboards/i18n/ja.json @@ -175,7 +175,7 @@ "NOVEMBER": "11月", "NO_AVAILABLE_INFO": "利用可能な情報がありません", "NO_FAX_ACCOUNTS_AVAILABLE": "利用可能なFAXアカウントはありません", - "NO_JSCRIPTY_PROJECTS_AVAILABLE": "利用可能なJscriptyプロジェクトはありません", + "NO_JSCRIPTY_PROJECTS_AVAILABLE": "利用可能なモニタリングプロジェクトはありません", "NO_MAIL_ACCOUNTS_AVAILABLE": "利用可能なメールアカウントはありません", "NO_SMS_ACCOUNTS_AVAILABLE": "利用可能なSMSアカウントはありません", "OCTOBER": "10月", diff --git a/public/app/main/apps/fax/i18n/he.json b/public/app/main/apps/fax/i18n/he.json new file mode 100644 index 0000000..15d1138 --- /dev/null +++ b/public/app/main/apps/fax/i18n/he.json @@ -0,0 +1,250 @@ +{ + "FAX": { + "LOGIN_TIME": "שעת כניסה", + "PAUSE_TIME": "שעת השהיה", + "DOWNLOAD_INTERACTION": "הורד", + "TRANSFER": "העבר", + "QUEUETRANSFER": "העברת תור", + "QUEUETRANSFERTIMEOUT": "סוף זמן קצוב להעברת תור", + "AGENTTRANSFER": "העברת נציג", + "AGENTTRANSFERTIMEOUT": "סוף זמן קצוב להעברת נציג", + "TAG": "תג", + "EDIT_TAG": "ערוך תג", + "WAITFORTHEASSIGNEDAGENT": "המתן לנציג שהוקצה", + "NOTIFICATION": "הודעה", + "NOTIFICATIONSOUND": "צליל", + "NOTIFICATIONSHAKE": "לחיצה", + "NOTIFICATIONTEMPLATE": "תבנית", + "SYSTEM": "מערכת", + "EDIT_SYSTEM": "ערוך מערכת", + "COMMAND": "פקודה", + "VARIABLE": "משתנה", + "CANNEDANSWERS": "תשובות מוכנות", + "FAXCANNEDANSWERS": "תשובות מוכנות", + "NO_FAXCANNEDANSWER_AVAILABLE": "אין תשובות מוכנות זמינות", + "NEW_FAXCANNEDANSWER": "תשובה מוכנה חדשה", + "ADD_FAXCANNEDANSWER": "הוסף תשובה מוכנה", + "EDIT_CHATCANNEDANSWER": "ערוך תשובה מוכנה", + "DELETE_CHATCANNEDANSWER": "מחק תשובה מוכנה", + "SPYINTERACTION": "רגל", + "TAGS": "תגים", + "REPLY": "השב", + "SEND": "שלח", + "TO": "אל", + "FROM": "מאת", + "NO_AGENT_ONLINE": "אין נציג מקוון", + "GOTOREALTIME_FAXQUEUE": "עבור אל תור הפקס של Realtime", + "EDIT_TRUNK": "ערוך קו ראשי", + "REGISTERED": "רשום", + "UNREGISTERED": "לא רשום", + "EDIT_ACCOUNT": "ערוך חשבון פקס", + "PARTIALPAUSE": "השהיה חלקית", + "BUSY": "תפוס", + "TIMER": "טיימר", + "IDLE": "במצב סרק", + "CAPACITY": "קיבולת", + "GOTO_FAXACCOUNT": "עבור אל Realtime Fax", + "ACCOUNTS": "חשבונות", + "GOTOREALTIME_FAXACCOUNT": "עבור אל Realtime Fax", + "TRUNK_STATUS": "סטטוס קו ראשי", + "TRUNKS": "קווים ראשיים", + "REGISTRY": "רישום", + "NO_REGISTRY": "אין רישום", + "PAUSE": "השהה", + "INFO": "מידע", + "FULLNAME": "שם מלא", + "INTERNAL": "פנימי", + "PHONE_STATE": "מצב הטלפון", + "PHONE_STATUS": "סטטוס הטלפון", + "LOGOUT": "יציאה", + "DEFAULT_PAUSE": "השהיית ברירת המחדל", + "AGENTADD_QUEUE": "הוסף נציג לתור הפקס", + "AGENTSADD_QUEUE": "הוסף נציגים לתור הפקס", + "UNPAUSE": "סיים השהיה", + "AGENTS": "נציגים", + "QUEUES": "תורים", + "LOGGED_IN": "מחובר", + "PAUSED": "מושהה", + "READY": "מוכן", + "WAITING": "בהמתנה", + "PRIORITY": "עדיפות", + "CONDITION": "תנאי", + "TRUEPRIORITY": "עדיפות TRUE", + "FALSEPRIORITY": "עדיפות FALSE", + "VALUE": "ערך", + "EDIT_FAXQUEUE": "ערוך תור פקס", + "EDIT_AGENT": "ערוך נציג", + "EDIT_GOTO": "ערוך פריט Goto", + "EDIT_NOOP": "ערוך פריט Noop", + "EDIT_GOTOP": "ערוך פריט GotoP", + "EDIT_GOTOIF": "ערוך פריט GotoIf", + "EDIT_QUEUE": "ערוך תור פקס", + "EDIT_CLOSE": "ערוך סגירה", + "QUEUE": "תור", + "GOTOIF": "GotoIf", + "GOTOP": "GotoP", + "NOOP": "Noop", + "AGENT": "נציג", + "NOTES": "פתקים ורשימות", + "CLOSEDAT": "נסגר ב-", + "DISPOSITION": "פריסה", + "REALTIME": "Realtime", + "TEAMADD_FAXQUEUE": "הוסף צוות לתור הפקס", + "AGENTADD_FAXQUEUE": "הוסף נציג לתור הפקס", + "NAME": "שם", + "FAXQUEUES": "תורי פקס", + "SEARCH_FOR_ANYONE": "חיפוש", + "ERRORS": { + "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "QUEUETRANSFERTIMEOUT_REQUIRED": "שדה חובה", + "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "AGENTTRANSFERTIMEOUT_REQUIRED": "שדה חובה", + "TAG_REQUIRED": "שדה חובה", + "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "WAITFORTHEASSIGNEDAGENT_REQUIRED": "שדה חובה", + "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "NAME_MUST_VALID_PATTERN": "תבנית שגויה", + "COMMAND_REQUIRED": "שדה חובה", + "TEXT_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "TEXT_REQUIRED": "שדה חובה", + "VALUE_REQUIRED": "שדה חובה", + "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "AGENT_REQUIRED": "שדה חובה", + "QUEUE_REQUIRED": "שדה חובה", + "TRUEPRIORITY_REQUIRED": "שדה חובה", + "FALSEPRIORITY_REQUIRED": "שדה חובה", + "CONDITION_REQUIRED": "שדה חובה", + "PRIORITY_REQUIRED": "שדה חובה", + "DISPOSITION_REQUIRED": "שדה חובה", + "NAME_REQUIRED": "שדה חובה", + "AGENT_TIMEOUT_REQUIRED": "שדה חובה", + "MOTIONADDRESS_REQUIRED": "שדה חובה", + "MOTIONADDRESS_MUST_VALID_URL": "תבנית שגויה", + "LOCALSTATIONID_REQUIRED": "שדה חובה", + "MODEM_REQUIRED": "שדה חובה", + "GATEWAY_REQUIRED": "שדה חובה", + "FAXDETECT_REQUIRED": "שדה חובה", + "T38TIMEOUT_REQUIRED": "שדה חובה", + "TIMEOUT_REQUIRED": "שדה חובה", + "HEADERINFO_REQUIRED": "שדה חובה", + "TRUNK_REQUIRED": "שדה חובה", + "LIST_REQUIRED": "שדה חובה", + "KEY_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "KEY_REQUIRED": "שדה חובה" + }, + "STRATEGY": "אסטרטגיה", + "AGENT_TIMEOUT": "סוף זמן קצוב לנציג", + "DESCRIPTION": "תיאור", + "ADD_FAXQUEUE": "הוסף תור פקס", + "DELETE_FAXQUEUE": "מחק תור פקס", + "CREATED_AT": "נוצר ב-", + "SAVE": "שמור", + "SETTINGS": "הגדרות", + "GENERAL": "כללי", + "FAXACCOUNTS": "חשבונות פקס", + "MOTIONADDRESS": "כתובת Motion", + "ADD_FAXACCOUNT": "הוסף חשבון פקס", + "EDIT_FAXACCOUNT": "ערוך חשבון פקס", + "DELETE_FAXACCOUNT": "מחק חשבון פקס", + "DISPOSITIONS": "פריסות", + "WEBHOOKS": "רכיבי WebHook", + "ACTIONS": "פעולות", + "LIST": "רשימה", + "FIDELITY": "מהימנות", + "ACCEPT": "קבל", + "ACCEPTMETHOD": "שיטת קבלה", + "ACCEPTURL": "קבל כתובת URL", + "REJECT": "דחה", + "REJECTMETHOD": "שיטת דחייה", + "REJECTURL": "דחה כתובת URL", + "CLOSE": "סגור", + "CLOSEMETHOD": "שיטת סגירה", + "CLOSEURL": "סגור כתובת URL", + "TRUNK": "קו ראשי", + "LOCALSTATIONID": "מזהה תחנה מקומית", + "HELP": { + "LOCALSTATIONID": "מזהה תחנה מקומית (מספר טלפון)", + "HEADERINFO": "פרטי כותרת עליונה בפקס יוצא", + "MODEM": "סוג מודם (v17/v27/v29)", + "GATEWAY": "שער פקס T.38 עם אפשרות לזמן קצוב (בשניות) לפעילות הפקס (כן/לא/[זמן קצוב])", + "FAXDETECT": "הפעל 'זיהוי פקס' עם זמן קצוב בשניות (כן/t38/cng/[זמן קצוב]/לא)", + "T38TIMEOUT": "הזמן הקצוב למשא ומתן T.38 (ערך מינימום=1000)", + "ECM": "ECM‎ (מצב שגיאה בחיבור)", + "MINRATE": "קצב העברה מינימלי נקבע לפני השידור", + "MAXRATE": "קצב העברה מרבי נקבע לפני השידור", + "NAME": "מותר לכלול רק ספרות, אותיות ותווים ספציפיים (._)" + }, + "ADVANCED": "מתקדם", + "ECM": "ECM", + "MINRATE": "קצב מינ'", + "MAXRATE": "קצב מקס'", + "MODEM": "מודם", + "GATEWAY": "שער", + "FAXDETECT": "זיהוי פקס", + "T38TIMEOUT": "זמן קצוב ל-T.38", + "SIP": "טכנולוגיה", + "HEADERINFO": "פרטי כותרת עליונה", + "SELECTED": "נבחר/ו", + "SELECT_ALL": "בחר הכול", + "SELECT_NONE": "אל תבחר אף פריט", + "BACK": "חזרה", + "FAX": "פקס", + "ID": "מזהה", + "TIMEOUT": "זמן קצוב", + "FAXDISPOSITIONS": "פריסות פקס", + "NO_FAXDISPOSITION_AVAILABLE": "אין פריסות פקס זמינות", + "NEW_FAXDISPOSITION": "פריסת פקס חדשה", + "ADD_FAXDISPOSITION": "הוסף פריסת פקס", + "EDIT_FAXDISPOSITION": "ערוך פריסת פקס", + "DELETE_FAXDISPOSITION": "מחק פריסת פקס", + "NEW_FAXQUEUE": "תור פקס חדש", + "NEW_FAXACCOUNT": "חשבון פקס חדש", + "NO_AVAILABLE_INFO": "אין פרטים זמינים", + "ALL_TEAMS": "כל הצוותים", + "SELECTED_TEAMS": "צוותים נבחרים", + "PAGE": "דף", + "ROWSPERPAGE": "שורות בדף", + "OF": "מתוך", + "DELETE": "מחק", + "KEY": "מפתח", + "ALL_AGENTS": "כל הנציגים", + "SELECTED_AGENTS": "נציגים נבחרים", + "FILTER": "מסנן", + "SELECT_STATUS": "בחר סטטוס", + "ALL": "הכול", + "CLOSED": "סגור", + "OPENED": "פתוח", + "SELECT_ACCOUNT": "בחר חשבון", + "INTERACTIONS": "אינטראקציות", + "CONTACT": "איש קשר", + "STARTEDAT": "החל ב-", + "STATUS": "סטטוס", + "ACCOUNT": "חשבון", + "UNKNOWN": "לא מזוהה", + "UNAVAILABLE": "לא זמין", + "NOT_INUSE": "לא בשימוש", + "REACHABLE": "נגיש", + "IN_USE": "בשימוש", + "VOICE": "קול", + "CHAT": "צ'אט", + "MAIL": "דוא\"ל", + "SMS": "SMS", + "OPENCHANNEL": "פתח ערוץ", + "TOTAL": "סה\"כ", + "IN": "נכנס", + "OUT": "יוצא", + "NO_INTERACTION_AVAILABLE": "אין אינטראקציות זמינות", + "INTERACTIONS_FAXACCOUNT": "עבור אל אינטראקציות", + "REFRESH_INTERACTIONS": "רענן אינטראקציות", + "DELETE_INTERACTION": "מחק אינטראקציה", + "AGENTADD_FAXACCOUNT": "הוסף נציג לחשבון הפקס" + } +} \ No newline at end of file diff --git a/public/app/main/apps/help/i18n/he.json b/public/app/main/apps/help/i18n/he.json new file mode 100644 index 0000000..a1682ec --- /dev/null +++ b/public/app/main/apps/help/i18n/he.json @@ -0,0 +1,8 @@ +{ + "HELP": { + "HELP": "עזרה", + "ABOUT": "אודות", + "USEFUL_LINKS": "קישורים שימושיים", + "CONTACT_US": "צור קשר" + } +} \ No newline at end of file diff --git a/public/app/main/apps/integrations/i18n/he.json b/public/app/main/apps/integrations/i18n/he.json new file mode 100644 index 0000000..3f814fb --- /dev/null +++ b/public/app/main/apps/integrations/i18n/he.json @@ -0,0 +1,187 @@ +{ + "INTEGRATIONS": { + "ADVANCED": "מתקדם", + "MODULE_SEARCH": "חיפוש מודול", + "MODULE_CREATE": "יצירת מודול", + "INTEGRATIONS": "אינטגרציות", + "ZENDESKACCOUNTS": "חשבונות Zendesk", + "ID": "מזהה", + "NAME": "שם", + "USERNAME": "שם משתמש", + "URI": "כתובת URL", + "BACK": "חזרה", + "SELECTED": "נבחר/ו", + "SELECT_ALL": "בחר הכול", + "SELECT_NONE": "אל תבחר אף פריט", + "EDIT_ZENDESKACCOUNT": "ערוך חשבון Zendesk", + "DELETE_ZENDESKACCOUNT": "מחק חשבון Zendesk", + "NEW_ZENDESKACCOUNT": "חשבון Zendesk חדש", + "AUTHTYPE": "סוג אימות", + "PASSWORD": "סיסמה", + "CONFIRM_PASSWORD": "אשר סיסמה", + "TOKEN": "אסימון", + "MOTIONPROXYADDRESS": "כתובת ה-IP של Motion או של הפרוקסי", + "DESCRIPTION": "תיאור", + "ADD_ZENDESKACCOUNT": "הוסף חשבון Zendesk", + "ERRORS": { + "NAME_REQUIRED": "שדה חובה", + "USERNAME_REQUIRED": "שדה חובה", + "URI_REQUIRED": "שדה חובה", + "URI_MUST_VALID_URL": "תבנית שגויה", + "PASSWORD_REQUIRED": "שדה חובה", + "CONFIRM_NOT_MATCH": "אין התאמה בסיסמאות", + "TOKEN_REQUIRED": "שדה חובה", + "MOTIONPROXYADDRESS_MUST_VALID_URL": "תבנית שגויה", + "CLIENTID_REQUIRED": "שדה חובה", + "CLIENTSECRET_REQUIRED": "שדה חובה", + "SECURITYTOKEN_REQUIRED": "שדה חובה", + "APIKEY_REQUIRED": "שדה חובה", + "CONTENT_REQUIRED": "שדה חובה", + "VARIABLENAME_REQUIRED": "שדה חובה", + "KEY_REQUIRED": "שדה חובה", + "TYPE_REQUIRED": "שדה חובה", + "VALUE_REQUIRED": "שדה חובה", + "FIELD_REQUIRED": "שדה חובה", + "CONSUMERKEY_REQUIRED": "שדה חובה", + "CONSUMERSECRET_REQUIRED": "שדה חובה", + "TOKENSECRET_REQUIRED": "שדה חובה", + "HOST_REQUIRED": "שדה חובה", + "AUTHTOKEN_REQUIRED": "שדה חובה", + "VTIGER_USER_NAME_REQUIRED": "שדה חובה", + "ACCESS_KEY_REQUIRED": "שדה חובה" + }, + "HELP": { + "MOTIONPROXYADDRESS": "כתובת Motion (פרוקסי): חובה לציין פרט זה כדי להציב בשדה גוף הכרטיס כתובת URL להקלטה. הזן את הכתובת בתבנית הבאה: : //[:]. דוגמה: https://X.Y.Z.W" + }, + "ACCOUNT": "חשבון", + "ZENDESKCONFIGURATIONS": "תצורות Zendesk", + "SALESFORCECONFIGURATIONS": "תצורות Salesforce", + "SUGARCRMCONFIGURATIONS": "תצורות SugarCRM", + "FRESHDESKCONFIGURATIONS": "תצורות Freshdesk", + "GENERAL": "כללי", + "CREATED_AT": "נוצר ב-", + "SAVE": "שמור", + "NO_ZENDESKCONFIGURATION_AVAILABLE": "אין תצורות Zendesk זמינות", + "NEW_ZENDESKCONFIGURATION": "תצורת Zendesk חדשה", + "ADD_ZENDESKCONFIGURATION": "הוסף תצורת Zendesk", + "EDIT_ZENDESKCONFIGURATION": "ערוך תצורת Zendesk", + "DELETE_ZENDESKCONFIGURATION": "מחק תצורת Zendesk", + "NO_SALESFORCECONFIGURATION_AVAILABLE": "אין תצורות Salesforce זמינות", + "NEW_SALESFORCECONFIGURATION": "תצורת Salesforce חדשה", + "ADD_SALESFORCECONFIGURATION": "הוסף תצורת Salesforce", + "EDIT_SALESFORCECONFIGURATION": "ערוך תצורת Salesforce", + "DELETE_SALESFORCECONFIGURATION": "מחק תצורת Salesforce", + "NO_SUGARCRMCONFIGURATION_AVAILABLE": "אין תצורות SugarCRM זמינות", + "NEW_SUGARCRMCONFIGURATION": "תצורת SugarCRM חדשה", + "ADD_SUGARCRMCONFIGURATION": "הוסף תצורת SugarCRM", + "EDIT_SUGARCRMCONFIGURATION": "ערוך תצורת SugarCRM", + "DELETE_SUGARCRMCONFIGURATION": "מחק תצורת SugarCRM", + "NO_FRESHDESKCONFIGURATION_AVAILABLE": "אין תצורות Freshdesk זמינות", + "NEW_FRESHDESKCONFIGURATION": "תצורת Freshdesk חדשה", + "ADD_FRESHDESKCONFIGURATION": "הוסף תצורת Freshdesk", + "EDIT_FRESHDESKCONFIGURATION": "ערוך תצורת Freshdesk", + "DELETE_FRESHDESKCONFIGURATION": "מחק תצורת Freshdesk", + "SALESFORCEACCOUNTS": "חשבונות Salesforce", + "EDIT_SALESFORCEACCOUNT": "ערוך חשבון Salesforce", + "DELETE_SALESFORCEACCOUNT": "מחק חשבון Salesforce", + "NEW_SALESFORCEACCOUNT": "חשבון Salesforce חדש", + "ADD_SALESFORCEACCOUNT": "הוסף חשבון Salesforce", + "CLIENTID": "מזהה לקוח", + "CLIENTSECRET": "סוד הלקוח", + "SECURITYTOKEN": "אסימון אבטחה", + "SEARCH_FOR_ANYONE": "חיפוש", + "APIKEY": "מפתח API", + "FRESHDESKACCOUNTS": "חשבונות Freshdesk", + "EDIT_FRESHDESKACCOUNT": "ערוך חשבון Freshdesk", + "DELETE_FRESHDESKACCOUNT": "מחק חשבון Freshdesk", + "NEW_FRESHDESKACCOUNT": "חשבון Freshdesk חדש", + "ADD_FRESHDESKACCOUNT": "הוסף חשבון Freshdesk", + "SUGARCRMACCOUNTS": "חשבונות SugarCRM", + "EDIT_SUGARCRMACCOUNT": "ערוך חשבון SugarCRM", + "DELETE_SUGARCRMACCOUNT": "מחק חשבון SugarCRM", + "NEW_SUGARCRMACCOUNT": "חשבון SugarCRM חדש", + "ADD_SUGARCRMACCOUNT": "הוסף כתובת SugarCRM", + "CONFIGURATIONS": "תצורות", + "NO_CONFIGURATION_AVAILABLE": "אין תצורות זמינות", + "NEW_CONFIGURATION": "תצורה חדשה", + "ADD_CONFIGURATION": "הוסף תצורה", + "EDIT_CONFIGURATION": "ערוך תצורה", + "DELETE_CONFIGURATION": "מחק תצורה", + "SUBJECTS": "נושאים", + "DESCRIPTIONS": "תיאורים", + "FIELDS": "שדות", + "TAGS": "תגים", + "TYPE": "סוג", + "CONTENT": "תוכן", + "EDIT_SUBJECT": "ערוך נושא", + "DELETE_SUBJECT": "מחק נושא", + "NEW_SUBJECT": "נושא חדש", + "ADD_SUBJECT": "הוסף נושא", + "EDIT_DESCRIPTION": "ערוך תיאור", + "DELETE_DESCRIPTION": "מחק תיאור", + "NEW_DESCRIPTION": "תיאור חדש", + "ADD_DESCRIPTION": "הוסף תיאור", + "EDIT_FIELD": "ערוך שדה", + "DELETE_FIELD": "מחק שדה", + "NEW_FIELD": "שדה חדש", + "ADD_FIELD": "הוסף שדה", + "ADD": "הוסף", + "VOICE": "קול", + "MAIL": "דוא\"ל", + "CHAT": "צ'אט", + "SMS": "SMS", + "OPENCHANNEL": "פתח ערוץ", + "INBOUND_IN_QUEUE": "פריט נכנס בתור", + "OUTBOUND_CALL": "שיחה יוצאת", + "VALUE": "ערך", + "FIELD": "שדה", + "KEY": "מפתח", + "CHANNEL": "ערוץ", + "DELETE": "מחק", + "NO_AVAILABLE_INFO": "אין פרטים זמינים", + "TEST_ZENDESKACCOUNT": "בדוק חשבון Zendesk", + "TEST_FRESHDESKACCOUNT": "בדוק חשבון Freshdesk", + "TEST_SUGARCRMACCOUNT": "בדוק חשבון SugerCRM", + "TEST_SALESFORCEACCOUNT": "בדוק חשבון Salesforce", + "INTEGRATION_TAB": "הכרטיסייה 'אינטגרציות'", + "NEW_TAB": "כרטיסייה חדשה", + "DESKACCOUNTS": "חשבונות Desk", + "EDIT_DESKACCOUNT": "ערוך חשבון Desk", + "TEST_DESKACCOUNT": "בדוק חשבון Desk", + "DELETE_DESKACCOUNT": "מחק חשבון Desk", + "CONSUMERKEY": "מפתח צרכן", + "CONSUMERSECRET": "סוד הצרכן", + "TOKENSECRET": "סוד האסימון", + "ADD_DESKACCOUNT": "הוסף חשבון Desk", + "NEW_DESKACCOUNT": "חשבון Desk חדש", + "ADD_DESKCONFIGURATION": "הוסף תצורת Desk", + "NEW_DESKCONFIGURATION": "תצורת Desk חדשה", + "DELETE_DESKCONFIGURATION": "מחק תצורת Desk", + "ZOHOACCOUNTS": "חשבונות Zoho", + "EDIT_ZOHOACCOUNT": "ערוך חשבון Zoho", + "TEST_ZOHOACCOUNT": "בדוק חשבון Zoho", + "DELETE_ZOHOACCOUNT": "מחק חשבון Zoho", + "ADD_ZOHOACCOUNT": "הוסף חשבון Zoho", + "NEW_ZOHOACCOUNT": "חשבון Zoho חדש", + "ADD_ZOHOCONFIGURATION": "הוסף תצורת Zoho", + "NEW_ZOHOCONFIGURATION": "תצורת Zoho חדשה", + "AUTHTOKEN": "אסימון הרשאה", + "HOST": "מארח", + "DELETE_ZOHOCONFIGURATION": "מחק תצורת Zoho", + "PAGE": "דף", + "ROWSPERPAGE": "שורות בדף", + "OF": "מתוך", + "VTIGERACCOUNTS": "חשבונות vTiger", + "VTIGER_USER_NAME": "שם משתמש vTiger", + "MODULE_NAME": "שם מודול vTiger", + "ACCESS_KEY": "מפתח גישה של vTiger", + "ADD_VTIGERACCOUNT": "הוסף חשבון vTiger חדש", + "EDIT_VTIGERACCOUNT": "ערוך חשבון vTiger", + "TEST_VTIGERACCOUNT": "בדוק חשבון vTiger", + "DELETE_VTIGERACCOUNT": "מחק חשבון vTiger", + "NEW_VTIGERACCOUNT": "חשבון vTiger חדש", + "NEW_VTIGERCONFIGURATION": "צור תצורת vTiger", + "DELETE_VTIGERCONFIGURATION": "מחק תצורת vTiger", + "ADD_VTIGERCONFIGURATION": "הוסף תצורת vTiger" + } +} \ No newline at end of file diff --git a/public/app/main/apps/jscripty/i18n/he.json b/public/app/main/apps/jscripty/i18n/he.json new file mode 100644 index 0000000..ceb286b --- /dev/null +++ b/public/app/main/apps/jscripty/i18n/he.json @@ -0,0 +1,226 @@ +{ + "JSCRIPTY": { + "CLONE_PROJECT": "שבט פרויקט", + "NAME": "שם", + "SEARCH_FOR_ANYONE": "חיפוש", + "BACK": "חזרה", + "SELECTED": "נבחר/ו", + "SELECT_ALL": "בחר הכול", + "SELECT_NONE": "אל תבחר אף פריט", + "DESCRIPTION": "תיאור", + "ERRORS": { + "NAME_REQUIRED": "שדה חובה", + "PROJECT_REQUIRED": "שדה חובה", + "FIELD_REQUIRED": "שדה חובה", + "NAME_MUST_VALID_PATTERN": "תבנית שגויה" + }, + "SAVE": "שמור", + "PROJECTS": "פרויקטים", + "ADD_PROJECT": "הוסף פרויקט", + "EDIT_PROJECT": "ערוך פרויקט", + "DELETE_PROJECT": "מחק פרויקט", + "JSCRIPTY": "Jscripty", + "ID": "מזהה", + "PROJECT": "פרויקט", + "CREATED_AT": "נוצר ב-", + "NEW_PROJECT": "פרויקט חדש", + "EDIT": "ערוך", + "SETTINGS": "הגדרות", + "GENERAL": "כללי", + "BUILDER": "בונה", + "PREVIEW": "תצוגה מקדימה", + "OPEN_CONTACT": "פתח איש קשר", + "HELP": { + "NAME": "מותר לכלול רק ספרות, אותיות ותווים ספציפיים (._)", + "ENABLEUNCOMPLETESAVE": "אפשר שמירה של הפעלת הנציג גם אם הסקר לא הושלם" + }, + "PAGE": "דף", + "ROWSPERPAGE": "שורות בדף", + "OF": "מתוך", + "JSCRIPTYSESSIONS": "הפעלות של פרויקטים", + "SESSIONS": "הפעלות", + "STARTTIME": "שעת התחלה", + "ENDTIME": "שעת סיום", + "MEMBERNAME": "שם הנציג", + "CALLERIDNUM": "מספר המתקשר", + "NO_SESSION_AVAILABLE": "אין הפעלות זמינות", + "SESSION_RESULTS": "תוצאות ההפעלה", + "SHOW_QUESTIONS_SESSION": "הצג תוצאות הפעלה", + "ANSWERS": "תשובות", + "NO_RESULTS_AVAILABLE": "אין תוצאות זמינות", + "TOTAL": "סה\"כ", + "ANSWER": "תשובה", + "EXPORT_TO_CSV": "ייצא לקובץ CSV", + "NO_ANSWERS_AVAILABLE": "אין תשובות זמינות", + "DELETE_SESSION": "מחק הפעלה", + "RESET_SESSION": "אפס הפעלה", + "YES": "כן", + "NO": "לא", + "DO_YOU_WANT_TO_RESET_SESSION": "האם ברצונך לאפס את ההפעלה?", + "ALL_SURVEY_DATA_WILL_BE_LOST": "כל התשובות לשאלות הסקר יימחקו!", + "ENABLEUNCOMPLETESAVE": "אפשר שמירת תשובות חלקיות", + "SUBMIT": "שלח", + "PROJECT_NOT_AVAILABLE": "הפרויקט לא זמין. פנה למנהל המערכת", + "COMPLETE": "הושלם", + "SESSIONS_PROJECT": "עבור להפעלות" + }, + "mwForm": { + "form": { + "name": "כותרת", + "name.placeholder": "כותרת הטופס", + "description": "תיאור" + }, + "buttons": { + "addPage": "הוסף דף", + "moveDown": "גלול מטה", + "moveUp": "גלול מעלה", + "removePage": "הסר דף", + "remove": "הסר", + "addElement": "הוסף מרכיב", + "questionReady": "מוכן", + "next": "הבא", + "back": "חזרה", + "submit": "שלח", + "begin": "התחל", + "fold": "קפל", + "unfold": "פתח קיפול", + "edit": "ערוך", + "clone": "שבט", + "view": "הצג" + }, + "page": { + "tab": { + "heading": "דף {{page}} מתוך {{allPages}}" + }, + "elements": { + "empty": "דף ריק" + }, + "pageWithNameCheckbox": "יש שם", + "name": "שם דף" + }, + "pageFlow": { + "afterPage": "אחרי הדף {{page}}:", + "afterQuestionAnswer": "עבור לדף לפי התשובה", + "goToPage": "עבור לעמוד {{page.number}}", + "goToNextPage": "המשך לדף הבא", + "submitForm": "שלח טופס" + }, + "elements": { + "question": "שאלה", + "image": "תמונה", + "paragraph": "פסקה" + }, + "question": { + "types": { + "text": { + "name": "טקסט קצר" + }, + "textarea": { + "name": "טקסט ארוך" + }, + "radio": { + "name": "לחצן ברירה" + }, + "select": { + "name": "בחר" + }, + "checkbox": { + "name": "תיבות סימון" + }, + "grid": { + "name": "טבלה" + }, + "priority": { + "name": "עדיפות" + }, + "division": { + "name": "הפרדה" + }, + "number": { + "name": "מספר" + }, + "date": { + "name": "תאריך" + }, + "datetime": { + "name": "תאריך ושעה" + }, + "time": { + "name": "שעה" + }, + "email": { + "name": "דוא\"ל" + }, + "range": { + "name": "טווח" + }, + "url": { + "name": "כתובת URL" + } + }, + "text": "נוסח השאלה", + "type": "סוג השאלה", + "required": "חובה", + "preview": { + "text": "טקסט תשובה קצר", + "textarea": "טקסט תשובה ארוך", + "otherAnswer": "אחר" + }, + "division": { + "quantity": "כמות", + "unit": "תווית יחידה", + "assignedSumLabel": "הוקצה", + "fromRequiredLabel": "חובה לציין 'מאת'" + }, + "priority": { + "sorted": "ממוין", + "available": "זמין", + "clickToAddItem": "לחץ כדי להוסיף פריט" + }, + "grid": { + "cellInputType": "סוג קלט לתאים", + "cellInputTypes": { + "radio": "לחצן ברירה", + "checkbox": "תיבת סימון", + "text": "טקסט", + "number": "מספר", + "date": "תאריך", + "time": "שעה" + }, + "rowLabel": "שורה {{row}}", + "clickToAddRow": "לחץ כדי להוסיף שורה", + "columnLabel": "עמודה {{col}}", + "clickToAddColumn": "לחץ כדי להוסיף עמודה" + }, + "range": { + "from": "טווח", + "to": "מ-" + }, + "number": { + "min": "מינ'", + "max": "מקס'" + }, + "orLabel": "או ", + "otherLabel": "אחר: ", + "userAnswer": "תשובת משתמש", + "buttons": { + "addOption": "לחץ כדי להוסיף אפשרות", + "addOther": "הוסף 'אחר'" + } + }, + "image": { + "selectImageButton": "בחר תמונה", + "caption": "כותרת תמונה" + }, + "paragraph": { + "placeholder": "הזן נוסח פסקה" + }, + "confirmationPage": { + "title": "דף אישור", + "customMessage": "הודעת אישור מותאמת", + "defaultMessage": "תשובתך נשמרה", + "errorMessage": "שגיאה! התשובה לא נשמרה", + "pendingMessage": "תשובתך בתהליכי שמירה" + } + } +} \ No newline at end of file diff --git a/public/app/main/apps/jscripty/i18n/ja.json b/public/app/main/apps/jscripty/i18n/ja.json index 976ae4b..137a56d 100644 --- a/public/app/main/apps/jscripty/i18n/ja.json +++ b/public/app/main/apps/jscripty/i18n/ja.json @@ -31,8 +31,8 @@ "EXPORT_TO_CSV": "CSVにエクスポート", "GENERAL": "一般", "ID": "ID", - "JSCRIPTY": "Jscripty", - "JSCRIPTYSESSIONS": "プロジェクトセッション", + "JSCRIPTY": "モニタリング", + "JSCRIPTYSESSIONS": "モニタリングセッション", "MEMBERNAME": "メンバー名", "NAME": "名前", "NEW_PROJECT": "新規プロジェクト", diff --git a/public/app/main/apps/mail/i18n/he.json b/public/app/main/apps/mail/i18n/he.json new file mode 100644 index 0000000..417621c --- /dev/null +++ b/public/app/main/apps/mail/i18n/he.json @@ -0,0 +1,312 @@ +{ + "MAIL": { + "DOWNLOAD_WITH_ATTACHMENTS": "הורד עם פריטים מצורפים", + "DOWNLOAD_WITHOUT_ATTACHMENTS": "הורד ללא פריטים מצורפים", + "DOWNLOAD": "הורד", + "LOGIN_TIME": "שעת כניסה", + "PAUSE_TIME": "שעת השהיה", + "DOWNLOAD_INTERACTION": "הורד", + "YOU_ARE_REGISTERED_AS_A": "אתה רשום כ-", + "TRANSFER": "העבר", + "QUEUETRANSFER": "העברת תור", + "QUEUETRANSFERTIMEOUT": "סוף זמן קצוב להעברת תור", + "AGENTTRANSFER": "העברת נציג", + "AGENTTRANSFERTIMEOUT": "סוף זמן קצוב להעברת נציג", + "TAG": "תג", + "EDIT_TAG": "ערוך תג", + "WAITFORTHEASSIGNEDAGENT": "המתן לנציג שהוקצה", + "NOTIFICATION": "הודעה", + "NOTIFICATIONSOUND": "צליל", + "NOTIFICATIONSHAKE": "לחיצה", + "NOTIFICATIONTEMPLATE": "תבנית", + "SYSTEM": "מערכת", + "EDIT_SYSTEM": "ערוך מערכת", + "COMMAND": "פקודה", + "VARIABLE": "משתנה", + "SEND_AS": "שלח בתור", + "NEW_MAILSUBSTATUS": "סטטוס משני חדש", + "ADD_MAILSUBSTATUS": "הוסף סטטוס משני", + "MAILSUBSTATUSES": "סטטוסים משניים של דוא\"ל", + "EDIT_MAILSUBSTATUS": "ערוך", + "DELETE_MAILSUBSTATUS": "מחק", + "FONT_FAMILY": "משפחת גופנים", + "FONT_SIZE": "גודל גופן", + "MARK_AS_UNREAD": "סמן כ'לא נקרא'", + "ACCEPTED": "התקבל", + "CANNEDANSWERS": "תשובות מוכנות", + "MAILCANNEDANSWERS": "תשובות מוכנות", + "NO_MAILCANNEDANSWER_AVAILABLE": "אין תשובות מוכנות זמינות", + "NEW_MAILCANNEDANSWER": "תשובה מוכנה חדשה", + "ADD_MAILCANNEDANSWER": "הוסף תשובה מוכנה", + "EDIT_MAILCANNEDANSWER": "ערוך תשובה מוכנה", + "DELETE_MAILCANNEDANSWER": "מחק תשובה מוכנה", + "SHOW_ORIGINAL_MESSAGE": "הצג הודעה מקורית", + "PENDING": "בהמתנה", + "SEND_AS_PENDING": "שלח כ'בהמתנה'", + "SEND_AND_CLOSE": "שלח וסגור", + "CANNED_ANSWER_NOT_FOUND": "לא נמצאו תשובות מוכנות", + "CANNED_ANSWER_SEARCH": "הזן טקסט כדי לחפש תשובה מוכנה", + "SPYINTERACTION": "רגל", + "ADD_NOTE": "הוסף פתק/הערה", + "NOTE": "פתק/הערה", + "TAGS": "תגים", + "NO_AGENT_ONLINE": "אין נציג מקוון", + "GOTOREALTIME_MAILQUEUE": "עבור אל תור דואר Realtime", + "PARTIALPAUSE": "השהיה חלקית", + "BUSY": "תפוס", + "TIMER": "טיימר", + "IDLE": "במצב סרק", + "CAPACITY": "קיבולת", + "UNPAUSE": "סיים השהיה", + "DEFAULT_PAUSE": "השהיית ברירת המחדל", + "LOGOUT": "יציאה", + "AGENTADD_QUEUE": "הוסף נציג לתור הדוא\"ל", + "VOICE": "קול", + "CHAT": "צ'אט", + "SMS": "SMS", + "OPENCHANNEL": "פתח ערוץ", + "FAX": "פקס", + "REALTIME": "Realtime", + "AGENTS": "נציגים", + "QUEUES": "תורים", + "ACCOUNTS": "חשבונות", + "FULLNAME": "שם מלא", + "INTERNAL": "פנימי", + "PHONE_STATE": "מצב הטלפון", + "PHONE_STATUS": "סטטוס הטלפון", + "PAUSE": "השהה", + "LOGGED_IN": "מחובר", + "PAUSED": "מושהה", + "READY": "מוכן", + "WAITING": "בהמתנה", + "TOTAL": "סה\"כ", + "IN": "נכנס", + "OUT": "יוצא", + "IMAP_STATUS": "סטטוס IMAP", + "SMTP_STATUS": "סטטוס SMTP", + "DISABLED": "מושבת", + "CONNECTED": "מחובר", + "NEVER_VERIFIED": "מעולם לא אומת", + "ERROR": "שגיאה", + "EDIT_ACCOUNT": "ערוך חשבון", + "VERIFY_SMTP": "אמת SMTP", + "VERIFIED": "אומת", + "VERIFYSMTP_MAILACCOUNT": "אמת SMTP", + "GOTOREALTIME_MAILACCOUNT": "עבור אל חשבון דוא\"ל Realtime", + "GOTO_MAILACCOUNT": "עבור אל חשבון דוא\"ל Realtime", + "TEXT": "טקסט", + "TIMES": "מספר הפעמים בכל אינטראקציה", + "EDIT_AUTOREPLY": "ערוך תשובה אוטומטית", + "AUTOREPLY": "תשובה אוטומטית", + "SHOW_AUTOREPLY": "הצג תשובה אוטומטית", + "SHOW_DETAILS": "הצג פרטים", + "HIDE_DETAILS": "הסתר פרטים", + "TO": "אל", + "FROM": "מאת", + "DATE": "תאריך", + "CC": "עותק", + "REPLY": "השב", + "REPLY_ALL": "השב לכולם", + "FORWARD": "העבר", + "SUBJECT": "נושא", + "BCC": "עותק עיוור", + "SEND": "שלח", + "ATTACHMENT": "קובץ מצורף", + "ATTACHMENTS": "קבצים מצורפים", + "NAME": "שם", + "MAILQUEUES": "תורי דוא\"ל", + "SEARCH_FOR_ANYONE": "חיפוש", + "STRATEGY": "אסטרטגיה", + "ERRORS": { + "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "QUEUETRANSFERTIMEOUT_REQUIRED": "שדה חובה", + "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "AGENTTRANSFERTIMEOUT_REQUIRED": "שדה חובה", + "TAG_REQUIRED": "שדה חובה", + "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "WAITFORTHEASSIGNEDAGENT_REQUIRED": "שדה חובה", + "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "NAME_MUST_VALID_PATTERN": "תבנית שגויה", + "COMMAND_REQUIRED": "שדה חובה", + "FONT_SIZE_REQUIRED": "שדה חובה", + "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "TEXT_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "VALUE_REQUIRED": "שדה חובה", + "TEXT_REQUIRED": "שדה חובה", + "NAME_REQUIRED": "שדה חובה", + "AGENT_TIMEOUT_REQUIRED": "שדה חובה", + "EMAIL_ADDRESS_REQUIRED": "שדה חובה", + "EMAIL_ADDRESS_MUST_VALID": "תבנית שגויה", + "HOST_REQUIRED": "שדה חובה", + "USERNAME_REQUIRED": "שדה חובה", + "PORT_REQUIRED": "שדה חובה", + "CONNTIMEOUT_REQUIRED": "שדה חובה", + "AUTHTIMEOUT_REQUIRED": "שדה חובה", + "ACCEPTURL_MUST_VALID_URL": "תבנית שגויה", + "TIMEOUT_REQUIRED": "שדה חובה", + "REJECTURL_MUST_VALID_URL": "תבנית שגויה", + "CLOSEURL_MUST_VALID_URL": "תבנית שגויה", + "AGENT_REQUIRED": "שדה חובה", + "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "DISPOSITION_REQUIRED": "שדה חובה", + "CONDITION_REQUIRED": "שדה חובה", + "TRUEPRIORITY_REQUIRED": "שדה חובה", + "FALSEPRIORITY_REQUIRED": "שדה חובה", + "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "PRIORITY_REQUIRED": "שדה חובה", + "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "QUEUE_REQUIRED": "שדה חובה", + "LIST_REQUIRED": "שדה חובה", + "PASSWORD_REQUIRED": "שדה חובה", + "SERVICE_REQUIRED": "שדה חובה", + "IMAP_HOST_REQUIRED": "שדה חובה", + "IMAP_PORT_REQUIRED": "שדה חובה", + "SMTP_HOST_REQUIRED": "שדה חובה", + "SMTP_PORT_REQUIRED": "שדה חובה", + "CONFIRM_NOT_MATCH": "אין התאמה בין הסיסמאות שהוזנו", + "KEY_MAX_LENGTH": "האורך המרבי המותר של מפתח הוא {{max}}", + "KEY_REQUIRED": "שדה חובה" + }, + "AGENT_TIMEOUT": "סוף זמן קצוב לנציג", + "DESCRIPTION": "תיאור", + "ADD_MAILQUEUE": "הוסף תור דוא\"ל", + "EDIT_MAILQUEUE": "ערוך תור דוא\"ל", + "DELETE_MAILQUEUE": "מחק תור דוא\"ל", + "SETTINGS": "הגדרות", + "GENERAL": "כללי", + "SAVE": "שמור", + "MAILACCOUNTS": "חשבונות דוא\"ל", + "EMAIL_ADDRESS": "כתובת דוא\"ל", + "ADD_MAILACCOUNT": "הוסף כתובת דוא\"ל", + "EDIT_MAILACCOUNT": "ערוך כתובת דוא\"ל", + "DELETE_MAILACCOUNT": "מחק כתובת דוא\"ל", + "DISPOSITIONS": "פריסות", + "WEBHOOKS": "רכיבי WebHook", + "ACTIONS": "פעולות", + "OTHERS": "אחרים", + "LIST": "רשימה", + "TEMPLATE": "תבנית", + "FIDELITY": "מהימנות", + "SERVICE": "שירות", + "CREATED_AT": "נוצר ב-", + "ACCEPT": "קבל", + "ACCEPTMETHOD": "שיטת קבלה", + "ACCEPTURL": "קבל כתובת URL", + "REJECT": "דחה", + "REJECTMETHOD": "שיטת דחייה", + "REJECTURL": "דחה כתובת URL", + "CLOSE": "סגור", + "CLOSEMETHOD": "שיטת סגירה", + "CLOSEURL": "סגור כתובת URL", + "WHITELABEL": "תווית לבנה", + "SIGNATURE": "חתימה", + "IMAP": "IMAP", + "HOST": "מארח", + "USERNAME": "שם משתמש", + "PORT": "יציאה", + "MAILBOX": "תיבת דואר", + "FILTER": "מסנן", + "CONNTIMEOUT": "זמן קצוב להתחברות [שניות]", + "AUTHTIMEOUT": "זמן קצוב לאימות [שניות]", + "DELETE": "מחק הודעות דוא\"ל בשרת", + "SSL": "SSL", + "KEEPALIVE": "השאר מחובר", + "POLLING": "תשאול", + "SMTP": "SMTP", + "SELECTED": "נבחר/ו", + "SELECT_ALL": "בחר הכול", + "SELECT_NONE": "אל תבחר אף פריט", + "BACK": "חזרה", + "MAIL": "דוא\"ל", + "ID": "מזהה", + "TIMEOUT": "זמן קצוב", + "PASSWORD": "סיסמה", + "NO_MAILDISPOSITION_AVAILABLE": "אין פריסות דוא\"ל זמינות", + "ADD_MAILDISPOSITION": "הוסף פריסת דוא\"ל", + "NEW_MAILDISPOSITION": "פריסת דוא\"ל חדשה", + "EDIT_MAILDISPOSITION": "ערוך פריסת דוא\"ל", + "DELETE_MAILDISPOSITION": "מחק פריסת דוא\"ל", + "MAILDISPOSITIONS": "פריסות דוא\"ל", + "NEW_MAILQUEUE": "תור דוא\"ל חדש", + "NEW_MAILACCOUNT": "חשבון דוא\"ל חדש", + "NO_AVAILABLE_INFO": "אין פרטים זמינים", + "ALL_TEAMS": "כל הצוותים", + "SELECTED_TEAMS": "צוותים נבחרים", + "HELP": { + "FONT_FAMILY": "ברירת מחדל של משפחת גופנים", + "FONT_SIZE": "גודל ברירת מחדל של גופנים", + "NAME": "מותר לכלול רק ספרות, אותיות ותווים ספציפיים (._)", + "USERNAME": "האימות מבוסס על שם משתמש", + "PASSWORD": "האימות מבוסס על סיסמה", + "SECURE": "אם TRUE, החיבור לשרת יתבסס על TLS", + "MARK_AS_UNREAD": "הפעל/השבת נציג כדי לסמן כ'לא נקרא' את ההודעה האחרונה באינטראקציה" + }, + "PAGE": "דף", + "ROWSPERPAGE": "שורות בדף", + "OF": "מתוך", + "TEAMADD_MAILQUEUE": "הוסף צוות לתור הדוא\"ל", + "AGENTADD_MAILQUEUE": "הוסף נציג לתור הדוא\"ל", + "ALL_AGENTS": "כל הנציגים", + "SELECTED_AGENTS": "נציגים נבחרים", + "AGENT": "נציג", + "EDIT_AGENT": "ערוך נציג", + "EDIT_CLOSE": "ערוך סגירה", + "DISPOSITION": "פריסה", + "GOTOIF": "GotoIf", + "EDIT_GOTOIF": "ערוך פריט GotoIf", + "CONDITION": "תנאי", + "TRUEPRIORITY": "עדיפות TRUE", + "FALSEPRIORITY": "עדיפות FALSE", + "GOTOP": "GotoP", + "EDIT_GOTOP": "ערוך פריט GotoP", + "PRIORITY": "עדיפות", + "NOOP": "Noop", + "EDIT_NOOP": "ערוך פריט Noop", + "VALUE": "ערך", + "QUEUE": "תור", + "EDIT_QUEUE": "ערוך תור", + "INTERACTIONS": "אינטראקציות", + "STARTEDAT": "החל ב-", + "CONTACT": "איש קשר", + "CLOSEDAT": "נסגר ב-", + "NOTES": "פתקים ורשימות", + "NO_INTERACTION_AVAILABLE": "אין אינטראקציות זמינות", + "ACTIVE": "פעיל", + "SECURE": "מאובטח", + "AUTHENTICATION": "אימות", + "SMTP_HOST": "מארח SMTP", + "SMTP_PORT": "יציאת SMTP", + "IMAP_HOST": "מארח IMAP", + "IMAP_PORT": "יציאת IMAP", + "CONFIRM_PASSWORD": "אשר סיסמה", + "SELECT_STATUS": "בחר סטטוס", + "OPENED": "פתוח", + "CLOSED": "סגור", + "ALL": "הכול", + "SELECT_ACCOUNT": "בחר חשבון", + "STATUS": "סטטוס", + "ACCOUNT": "חשבון", + "OPEN": "פתח", + "KEY": "מפתח", + "SMTPSERVICE": "שירות SMTP", + "UNKNOWN": "לא מזוהה", + "UNREGISTERED": "לא רשום", + "UNAVAILABLE": "לא זמין", + "NOT_INUSE": "לא בשימוש", + "REACHABLE": "נגיש", + "IN_USE": "בשימוש", + "AGENTSADD_QUEUE": "הוסף נציגים לתור הדוא\"ל", + "INFO": "מידע", + "INTERACTIONS_MAILACCOUNT": "עבור אל אינטראקציות", + "REFRESH_INTERACTIONS": "רענן אינטראקציות", + "DELETE_INTERACTION": "מחק אינטראקציה", + "AGENTADD_MAILACCOUNT": "הוסף נציג לחשבון הדוא\"ל" + } +} \ No newline at end of file diff --git a/public/app/main/apps/marketplace/i18n/he.json b/public/app/main/apps/marketplace/i18n/he.json new file mode 100644 index 0000000..d5c1835 --- /dev/null +++ b/public/app/main/apps/marketplace/i18n/he.json @@ -0,0 +1,51 @@ +{ + "MARKETPLACE": { + "MARKETPLACE": "App Zone", + "PLUGINS": "יישומי Plug-in", + "BACK": "חזרה", + "SEARCH_FOR_ANYONE": "חיפוש", + "SELECTED": "נבחר/ו", + "SELECT_ALL": "בחר הכול", + "SELECT_NONE": "אל תבחר אף פריט", + "NAME": "שם", + "DESCRIPTION": "תיאור", + "ACTIVE": "פעיל", + "TYPE": "סוג", + "ICON": "סמל", + "ADMINURL": "כתובת URL של מנהל מערכת", + "AGENTURL": "כתובת URL של נציג", + "SCRIPTNAME": "שם סקריפט", + "SCRIPTPATH": "נתיב הסקריפט", + "SIDEBAR": "תיבה צדית", + "VERSION": "גרסה", + "NO_AVAILABLE_INFO": "אין פרטים זמינים", + "MORE": "עוד", + "INSTALL_PLUGIN": "התקן יישום Plug-in", + "EDIT_PLUGIN": "ערוך יישום Plug-in", + "STOP_PLUGIN": "עצור יישום Plug-in", + "RESTART_PLUGIN": "הפעל מחדש יישום Plug-in", + "DOWNLOAD_PLUGIN": "הורד יישום Plug-in", + "UNINSTALL_PLUGIN": "הסר התקנת יישום Plug-in", + "DELETE_PLUGIN": "הסר יישום Plug-in", + "CANCEL": "ביטול", + "FINISH": "סיום", + "DELETE": "מחק", + "SAVE": "שמור", + "INSTALLING": "התקנה", + "DROP_TO_UPLOAD": "שחרר כדי להעלות", + "DROP_TO_UPLOAD_MESSAGE": "כדי להעלות את הקובץ, שחרר אותו כאן. ZIP בלבד – מקס' 2MB", + "UPLOAD_PLUGIN": "יישום Plug-in להעלאות", + "UPLOADING": "העלאה", + "CREATED_AT": "נוצר ב-", + "GENERAL": "כללי", + "SETTINGS": "הגדרות", + "EDITOR": "עורך", + "ERRORS": { + "URL_REQUIRED": "שדה חובה" + }, + "HELP": {}, + "PAGE": "דף", + "ROWSPERPAGE": "שורות בדף", + "OF": "מתוך" + } +} \ No newline at end of file diff --git a/public/app/main/apps/motiondialer/i18n/he.json b/public/app/main/apps/motiondialer/i18n/he.json new file mode 100644 index 0000000..68a39e9 --- /dev/null +++ b/public/app/main/apps/motiondialer/i18n/he.json @@ -0,0 +1,613 @@ +{ + "MOTIONDIALER": { + "LOGIN_TIME": "שעת כניסה", + "PAUSE_TIME": "שעת השהיה", + "CUTDIGIT": "קצץ ספרות", + "RANDOMLASTDIGITCALLERIDNUMBER": "מזהה מחייג אקראי לשיחות יוצאות", + "CLONE_IVRCAMPAIGN": "שבט מבצע", + "CLONE_QUEUECAMPAIGN": "שבט מבצע תורים", + "ABANDONEDCALLS": "שיחות בתור שננטשו", + "HOPPERWIDGET": "סיכום", + "RESETLIST_IVRCAMPAIGN": "אפס רשימות", + "RESETLIST_QUEUECAMPAIGN": "אפס רשימות", + "RESET": "איפוס", + "RESETLIST": "אפס רשימות", + "SELECTALL": "בחר הכול", + "UNSELECTALL": "בטל בחירה בכל", + "NO_AVAILABLE_INFO": "אין פרטים זמינים", + "TIMEOUT": "זמן קצוב", + "CALLYSQUAREPROJECTPREVIEW": "תצוגה מקדימה של פרויקט Cally Square", + "CALLYSQUAREPROJECTPREVIEW2": "תצוגה מקדימה של 'אחרי פרויקט Cally Square'", + "RUNIFHANGUPAGENT": "הרץ 'אחרי פרויקט Cally Square' גם אם הנציג מנתק את השיחה", + "CALLYSQUAREPROJECT2": "תור פריטי 'אחרי פרויקט Cally Square'", + "NO_AGENT_ONLINE": "אין נציג מקוון", + "PARTIALPAUSE": "השהיה חלקית", + "ALL": "הכול", + "IDLE": "במצב סרק", + "TIMER": "טיימר", + "MOVE_HOPPERFINAL": "שחזר איש קשר", + "RESTORECONTACTS": "שחזר אנשי קשר", + "NO_SUCH_NUMBER": "אין מספר כזה", + "DIALORDERBYSCHEDULEDAT": "סדר לפי תאריך שיבוץ", + "ASC": "ASC", + "DESC": "DESC", + "RECALLAGENT": "בצע חיוג חוזר לנציג", + "DIALRECALLINQUEUE": "תור 'חיוג חוזר בעוד'", + "DIALRECALLMETIMEOUT": "זמן קצוב ל'בצע חיוג חוזר אליי' [דק']", + "RECALLME": "בצע חיוג חוזר אליי", + "RECALLFAILEDTIMEOUT": "חיוג חוזר נכשל", + "PREVIEW_CAMPAIGN": "הצג מבצעים", + "PREVIEW_CAMPAIGNS": "הצג מבצעים", + "AMD": "זיהוי משיבונים (AMD) של Asterisk", + "AMDTOTALANALYSISTIME": "זמן ניתוח כולל", + "AMDACTIVE": "AMD", + "AMDINITIALSILENCE": "דממה ראשונית", + "AMDGREETING": "ברכה", + "AMDAFTERGREETINGSILENCE": "דממה לאחר הברכה", + "AMDSILENCETHRESHOLD": "סף דממה", + "AMDMINWORDLENGTH": "מינ' אורך מילה", + "AMDBETWEENWORDSSILENCE": "דממה בין מילים", + "AMDMAXIMUMWORDLENGTH": "מקס' אורך מילה", + "AMDMAXIMUMNUMBEROFWORDS": "מספר מילים מרבי", + "GOTO_QUEUECAMPAIGN": "עבור אל מבצעי תור של Realtime", + "GOTOREALTIME_QUEUECAMPAIGN": "עבור אל מבצעי תור של Realtime", + "GOTO_IVRCAMPAIGN": "עבור אל מבצעי IVR של Realtime", + "GOTOREALTIME_IVRCAMPAIGN": "עבור אל מבצעי IVR של Realtime", + "LOGOUT": "יציאה", + "EDIT_CAMPAIGN": "ערוך מבצע", + "LIMITED": "מוגבל", + "IVR_CAMPAIGNS": "מבצעי IVR", + "MOTIONDIALER": "Motion Bull", + "QUEUECAMPAIGNS": "מבצרי תורים", + "IVRCAMPAIGNS": "מבצעי IVR", + "MANAGED": "מנוהל", + "AVAILABLE_CONTACTS_FINISHED": "נגמרו אנשי הקשר הזמינים", + "HISTORY": "היסטוריה", + "SCHEDULEDAT": "שובץ ב-", + "HOPPERBLACKS": "רשימה שחורה למשפך", + "NO_HOPPERBLACK_AVAILABLE": "אין פריטים זמינים", + "HOPPERFINALS": "משפך סופי", + "NO_HOPPERFINAL_AVAILABLE": "אין פריטים זמינים", + "HOPPERHISTORIES": "היסטוריית שיחות", + "NO_HOPPERHISTORY_AVAILABLE": "אין פריטים זמינים", + "DELETE_HOPPERHISTORY": "מחק", + "DELETE_HOPPERFINAL": "מחק", + "CONTACTID": "מזהה איש קשר", + "STARTTIME": "שעת התחלה", + "RESPONSETIME": "זמן למענה", + "ENDTIME": "שעת סיום", + "STATUS": "סטטוס", + "HOPPERS": "משפך", + "NO_HOPPER_AVAILABLE": "אין פריטים זמינים", + "EDIT_HOPPER": "ערוך משפך", + "DELETE_HOPPER": "מחק משפך", + "FINAL": "סופי", + "BLACKLIST": "רשימה שחורה", + "NAME": "שם", + "VOICEQUEUES": "תורי קול", + "SEARCH_FOR_ANYONE": "חיפוש", + "BACK": "חזרה", + "SELECTED": "נבחר/ו", + "SELECT_ALL": "בחר הכול", + "SELECT_NONE": "אל תבחר אף פריט", + "DELETE_VOICEDISPOSITION": "מחק פריסת קול", + "EDIT_VOICEDISPOSITION": "ערוך פריסת קול", + "EDIT_VOICEQUEUE": "ערוך תור קול", + "DELETE_VOICEQUEUE": "מחק תור קול", + "MOHSOUNDS": "צלילי MOH", + "STRATEGY": "אסטרטגיה", + "DESCRIPTION": "תיאור", + "INTERVAL": "מרווח זמן", + "ADD_VOICEQUEUE": "הוסף תור קול", + "NEW_QUEUECAMPAIGN": "מבצע תורים חדש", + "ACTIVE": "פעיל", + "METHOD": "שיטה", + "POWERLEVEL": "רמת עוצמה", + "DROPRATE": "שיעור ניתוקים", + "AGENTBUSYFACTOR": "גורם 'נציג תפוס'", + "PREDICTIVEOPTIMIZATION": "מיטוב מנבא", + "PREDICTIVEOPTIMIZATIONPERCENTAGE": "שיעור מיטוב מנבא", + "PREDICTIVEINTERVAL": "מרווח זמן מנבא", + "ADD_QUEUECAMPAIGN": "הוסף מבצע תורים", + "CAMPAIGN": "מבצע", + "MAXCONCURRENTCALLS": "מקס' שיחות במקביל", + "CONCURRENTCALLS": "מקס' שיחות במקביל", + "ORIGINATE": "הוצא", + "ORIGINATECALLERIDNAME": "שם מזהה מתקשר", + "ORIGINATECALLERIDNUMBER": "מספר מזהה מתקשר", + "ORIGINATETIMEOUT": "זמן קצוב להוצאה", + "QUEUEOPTIONS": "אפשרויות תור", + "QUEUETIMEOUT": "זמן קצוב לתור", + "CALLYSQUAREPROJECT": "פרויקט Cally Square", + "RETRYANDFREQUENCY": "הגדרות 'ניסיון חוזר'", + "GLOBAL": "גלובלי", + "GLOBALMAXRETRY": "מקס' ניסיונות חוזרים", + "CONGESTION": "עומס", + "CONGESTIONMAXRETRY": "מקס' ניסיונות חוזרים", + "CONGESTIONRETRYTIME": "זמן לניסיון חוזר [דק']", + "BUSYMAXRETRY": "מקס' ניסיונות חוזרים", + "BUSYRETRYTIME": "זמן עד ניסיון חוזר [דק']", + "NOANSWER": "אין תשובה", + "NOANSWERMAXRETRY": "מקס' ניסיונות חוזרים", + "NOANSWERRETRYTIME": "זמן עד ניסיון חוזר [דק']", + "QUEUE_PARAMS": "פרמטרי תור", + "ORIGINATED": "מקור", + "MESSAGE": "הודעה", + "DROPPED": "נותק", + "CREATED_AT": "נוצר ב-", + "LEGEND": { + "CUSTOM_APPLICATION": "(*) – יישום מותאם אישית." + }, + "ERRORS": { + "CUTDIGIT_REQUIRED": "שדה חובה", + "CUTDIGIT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "CUTDIGIT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "RANDOMLASTDIGITCALLERIDNUMBER_REQUIRED": "שדה חובה", + "RANDOMLASTDIGITCALLERIDNUMBER_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "RANDOMLASTDIGITCALLERIDNUMBER_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "AGENTTIMEOUT_REQUIRED": "שדה חובה", + "INTERVAL_REQUIRED": "שדה חובה", + "EMAIL_REQUIRED": "שדה חובה", + "DIALRECALLMETIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "DIALRECALLMETIMEOUT_REQUIRED": "שדה חובה", + "NAME_MUST_VALID_PATTERN": "תבנית שגויה", + "PREFIX_MUST_VALID_PATTERN": "תבנית שגויה", + "NAME_REQUIRED": "שדה חובה", + "TIMEOUT_REQUIRED": "שדה חובה", + "PHONENUMBER_REQUIRED": "שדה חובה", + "CONTEXT_REQUIRED": "שדה חובה", + "DESTINATIONPATTERN_REQUIRED": "שדה חובה", + "FULLNAME_REQUIRED": "שדה חובה", + "EMAIL_REQUUIRED": "שדה חובה", + "EMAIL_MUST_VALID": "תבנית שגויה", + "MAILBOX_REQUIRED": "שדה חובה", + "PASSWORD_REQUIRED": "שדה חובה", + "CONFIRM_NOT_MATCH": "אין התאמה בסיסמאות", + "TIMEZONE_REQUIRED": "שדה חובה", + "PREFIX_REQUIRED": "שדה חובה", + "OPTIONS_REQUIRED": "שדה חובה", + "AFTERCALLWORKDURATION_REQUIRED": "שדה חובה", + "TECHNOLOGY/RESOURCE_REQUIRED": "שדה חובה", + "PHONE_REQUIRED": "שדה חובה", + "VALUE_REQUIRED": "שדה חובה", + "EXTENSION_REQUIRED": "שדה חובה", + "PRIORITY_REQUIRED": "שדה חובה", + "GLOBALMAXRETRY_REQUIRED": "שדה חובה", + "CONGESTIONMAXRETRY_REQUIRED": "שדה חובה", + "CONGESTIONRETRYTIME_REQUIRED": "שדה חובה", + "BUSYMAXRETRY_REQUIRED": "שדה חובה", + "BUSYRETRYTIME_REQUIRED": "שדה חובה", + "NOANSWERMAXRETRY_REQUIRED": "שדה חובה", + "NOANSWERRETRYTIME_REQUIRED": "שדה חובה", + "QUEUETIMEOUT_REQUIRED": "שדה חובה", + "ORIGINATETIMEOUT_REQUIRED": "שדה חובה", + "GLOBALINTERVAL_REQUIRED": "שדה חובה", + "MAXCONCURRENTCALLS_REQUIRED": "שדה חובה", + "CONCURRENTCALLS_REQUIRED": "שדה חובה", + "POWERLEVEL_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "PREDICTIVEOPTIMIZATIONPERCENTAGE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "PREDICTIVEINTERVAL_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "MAXCONCURRENTCALLS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "ORIGINATETIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "QUEUETIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "AGENTTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "GLOBALMAXRETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "CONGESTIONMAXRETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "CONGESTIONRETRYTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "BUSYMAXRETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "BUSYRETRYTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "NOANSWERMAXRETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "NOANSWERRETRYTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "CONCURRENTCALLS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "POWERLEVEL_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "PREDICTIVEOPTIMIZATIONPERCENTAGE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "PREDICTIVEINTERVAL_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "MAXCONCURRENTCALLS_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "ORIGINATETIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "QUEUETIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "GLOBALMAXRETRY_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "CONGESTIONMAXRETRY_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "CONGESTIONRETRYTIME_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "BUSYMAXRETRY_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "BUSYRETRYTIME_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "NOANSWERMAXRETRY_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "NOANSWERRETRYTIME_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "CONCURRENTCALLS_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-" + }, + "GENERAL": "כללי", + "AGENTTIMEOUT": "סוף זמן קצוב לנציג", + "MAXLENGTH": "אורך מרבי", + "RETRY": "נסה שוב", + "WRAPUPTIME": "משך סיכום", + "WEIGHT": "משקל", + "JOINWHENEMPTY": "הצטרף כאשר ריק", + "LEAVEWHENEMPTY": "צא כאשר ריק", + "HELP": { + "RANDOMLASTDIGITCALLERIDNUMBER": "אם גדול מ-0, המערכת תפיק באופן אקראי את הספרות האחרונות המתאימות של מספר מזהה מתקשר בשיחה יוצאת", + "TIMEOUT": "מספר השניות לצלצול אל נציג בתור", + "CALLYSQUAREPROJECTPREVIEW": "החייגן יבחר פרויקט IVR ויעביר את השיחה אל מערכת ה-IVR כאשר נציג ישיב (ה-IVR יופנה אל הנציג)", + "CALLYSQUAREPROJECTPREVIEW2": "החייגן יבחר פרויקט IVR ויעביר את השיחה אל מערכת ה-IVR כאשר לקוח מנתק או בלתי נגיש (ה-IVR יופנה אל הנציג)", + "RUNIFHANGUPAGENT": "הרץ 'אחרי פרויקט Cally Square' גם אם הנציג מנתק את השיחה", + "CALLYSQUAREPROJECT2": "החייגן יבצע פעולת iSelecting לבחירת פרויקט IVR ויעביר את השיחה אל מערכת ה-IVR (אם התור יסתיים עד סוף הזמן הקצוב)", + "DIALORDERBYSCHEDULEDAT": "קבל אנשי קשר ממשפך (בסדר עולה או יורד).", + "DIALRECALLINQUEUE": "שבץ במועד חדש שיחה עבור כל הנציגים בתור", + "DIALRECALLMETIMEOUT": "מרווח הזמן (בדקות) לתוקף פקודת 'בצע חיוג חוזר אליי'", + "PRIORITY": "עדיפות ברשימה", + "AMDMAXIMUMWORDLENGTH": "משך זמן מרבי מותר לביטוי קולי יחיד", + "AMDMINWORDLENGTH": "משך זמן מינימלי של ביטוי קולי שייחשב למילה", + "AMDSILENCETHRESHOLD": "אם רמת הרעש הממוצעת בדגימה לא מגיעה לערך זה (בסולם של 0 עד 32767), הרעש ייחשב לדממה", + "AMDTOTALANALYSISTIME": "משך הזמן המרבי הקצוב לאלגוריתם כדי להחליט אם צלילי האודיו מייצגים קול 'אנושי' או קול 'מכונה'", + "AMDAFTERGREETINGSILENCE": "דממה לאחר זיהוי ברכה. אם יש חריגה מהזמן הקצוב, המערכת תזהה קול 'אנושי'", + "AMDGREETING": "אורך מרבי של ברכה. אם יש חריגה מהזמן הקצוב, המערכת תזהה קול 'מכונה'", + "AMDINITIALSILENCE": "אורך מרבי של שקט לפני ברכה. אם יש חריגה מהזמן הקצוב, המערכת תזהה קול 'מכונה'", + "AMDACTIVE": "הפעל או השבת ניסיונות לזיהוי משיבון", + "AMDBETWEENWORDSSILENCE": "משך הזמן המרבי של דממה לאחר מילה, שהאודיו שלאחריו ייחשב למילה חדשה", + "AMDMAXIMUMNUMBEROFWORDS": "המספר המרבי של מילים בברכה. אם יש חריגה מהמספר הקצוב, המערכת תזהה קול 'מכונה'", + "CALLYSQUAREPROJECT": "החייגן יבחר פרויקט IVR ויעביר את השיחה אל מערכת ה-IVR לפני התור", + "PREFIX": "קידומת טלפון", + "ACTIVE": "פעיל", + "AGENTTIMEOUT": "משך הזמן (בשניות) של צלצול במכשיר של נציג", + "MAXLENGTH": "המספר המרבי של מתקשרים שיכולים לחכות בתור (0=בלתי מוגבל)", + "RETRY": "משך ההמתנה (בשניות) עד שיחה לנציג הבא בתור בסיום הזמן הקצוב לנציג", + "WRAPUPTIME": "כמה זמן (בשניות) להשאיר את הנציג בלתי זמין בתור לאחר השלמת שיחה", + "WEIGHT": "משמש לקביעת סדר העדיפות כאשר נציגים משויכים ליותר מתור אחד", + "JOINWHENEMPTY": "קובע אם להוסיף מתקשר לתור כאשר אין נציגים זמינים", + "LEAVEWHENEMPTY": "קובע אם המתקשר יוסר מהתור כאשר אין נציגים זמינים", + "ANNOUNCEFREQUENCY": "באיזו תדירות להכריז על מיקומו של המתקשר בתור ו/או את משך ההמתנה הצפוי (0=השבת)", + "MINANNOUNCEFREQUENCY": "תדירות הכרזה מינימלית (שימושי כאשר מיקומו של המתקשר בתור משתנה במהירות)", + "PERIODICANNOUNCEFREQUENCY": "תדירות ההכרזות המחזוריות שהמתקשר שומע", + "ANNOUNCEPOSITIONLIMIT": "משמש אם הערך בהגדרת המיקום להכרזה הוא 'הגבל' או 'יותר'", + "AFTERCALLWORKDURATION": "אורך ההשהיה מופעל על ידי האפשרות 'עבודה לאחר שיחה'", + "MEMBERDELAY": "להוספת השהיה לפני חיבור בין המתקשר שבתור לבין הנציג", + "MUSICONHOLD": "קובע את סוג המוזיקה לתור מסוים", + "ANNOUNCETOAGENT": "להשמעת הודעה לנציג המקבל את השיחה (לדוגמה, לאיזה תור משויך המתקשר)", + "RANDOMPERIODICANNOUNCE": "אם כן, המערכת משמיעה את ההודעות המחזוריות בסדר אקראי", + "ANNOUNCEHOLDTIME": "להכרזת משך זמן ההמתנה המשוער יחד עם ההודעות הקבועות (כן/לא/פעם אחת)", + "ANNOUNCECALLERPOSITION": "משמש כדי לקבוע אם מיקום המתקשר בתור יוכרז: לא=אף פעם; כן=תמיד; הגבל=רק אם במסגרת הגבול שהוגדר תחת 'הגבל-מיקום-הכרזה; עוד=רק אם יש חריגה מהערך שהוגדר תחת הגבל-מיום-הכרזה", + "REPORTHOLDTIMEAGENT": "מאפשר לדווח על משך ההמתנה של המתקשר לנציג בתור לפני חיבור ביניהם", + "PERIODICANNOUNCE": "סדרת ההודעות המחזוריות שיושמעו (לפי סדר)", + "HOLDTIMEANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='משך המתנה'. לא מוגדר=ללא הכרזה", + "YOUARENEXTANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='מקומך הנוכחי בתור – מספר אחת'. לא מוגדר=ללא הכרזה", + "THEREAREANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='לפניך בתור'. לא מוגדר=ללא הכרזה", + "WAITINGCALLSANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='שיחות ממתינות'. לא מוגדר=ללא הכרזה", + "ESTIMATEDHOLDTIMEANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='זמן ההמתנה המשוער כרגע הוא'. לא מוגדר=ללא הכרזה", + "MINUTESANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='דקות'. לא מוגדר=ללא הכרזה", + "MINUTEANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='דקה'. לא מוגדר=ללא הכרזה", + "SECONDSANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='שניות'. לא מוגדר=ללא הכרזה", + "THANKYOUANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='תודה על הסבלנות'. לא מוגדר=ללא הכרזה", + "AFTERCALLWORK": "אם אפשרות זאת מופעלת הנציג יועבר למצב 'השהה' לאחר סיום של שיחה", + "AUTOPAUSE": "מפעיל/משבית את ההשהיה האוטומטית של נציגים שלא השיבו על שיחה. במצב מופעל, הסוכן עובר למצב השהיה בכל התורים שהוא משויך אליהם", + "RINGINUSE": "כדי למנוע/לאפשר שליחת שיחות לנציגים עם סטטוס 'בשימוש'", + "TIMEOUTRESTART": "אם כן, הזמן הקצוב לסוכן לקבל שיחה כאשר מתקבל סטטוס 'תפוס' או 'עומס' מהערוץ יתאפס", + "MONITORFORMAT": "מציין את תבנית הקובץ להקלטה. כאשר תבנית 'ניטור' לא פעילה אין הקלטת שיחות.", + "CONTEXT": "מאפשר למתקשר לצאת מהתור בלחיצה על ספרת DTMF אחת. אם צוין הקשר והמתקשר מקיש את הספרה, המערכת תנסה להתאים את הספרה להקשר שצוין וביצוע תוכנית החיוג תימשך שם", + "SETINTERFACEVARIABLES": "אם הערך בהגדרה הוא 'כן', המערכת תקבע משתנים מסוימים ממש לפני העברת השיחה לנציג (לפרטים נוספים, עיין ב-Wiki Docs: לחץ כאן)", + "SETQUEUEVARIABLES": "אם הערך בהגדרה הוא 'כן', המערכת תקבע משתנים מסוימים ממש לפני העברת השיחה לנציג ויציאתו מהתור (לפרטים נוספים, עיין ב-Wiki Docs: לחץ כאן)", + "SETQUEUEENTRYVARIABLES": "אם הערך בהגדרה הוא 'כן', המערכת תקבע משתנים מסוימים ממש לפני העברת השיחה לנציג (לפרטים נוספים, עיין ב-Wiki Docs: לחץ כאן)", + "RECORDING": "אפשר הקלטת שיחה", + "VOICEMAIL_CONTEXT": "ההקשר של השלוחה הרלוונטית", + "METHOD": "שיטת חייגן יוצא", + "POWERLEVEL": "מספר אנשי הקשר להפניה אל כל נציג זמין", + "PREDICTIVEOPTIMIZATION": "מקדם למיטוב האלגוריתם המנבא", + "PREDICTIVEOPTIMIZATIONPERCENTAGE": "השיעור (באחוזים) לפי המקדם שנבחר למיטוב הניבוי", + "PREDICTIVEINTERVAL": "מרווח הזמן (בדקות) המשמש את האלגוריתם המנבא לחישוב מספר השיחות שיש ליצור כדי למטב את התוצאה", + "MAXCONCURRENTCALLS": "המספר המרבי של שיחות מקבילות שהחייגן היוצא ייצור עבור מבצע זה (0=בלתי מוגבל)", + "CONCURRENTCALLS": "המספר המרבי של שיחות מקבילות שהחייגן היוצא ייצור עבור מבצע זה", + "ORIGINATECALLERIDNAME": "שם מזהה מתקשר יוצא", + "ORIGINATECALLERIDNUMBER": "מספר מזהה מתקשר יוצא", + "ORIGINATETIMEOUT": "הזמן (בשניות) הקצוב ליצירת קשר בשיחה היוצאת, שלאחריו יינתן סטטוס 'אין תשובה' ", + "QUEUETIMEOUT": "הזמן (בשניות) ששיחה תמתין בתור לפני ניתוק יזום (מינ' 1; מקס' 999)", + "GLOBALMAXRETRY": "המספר המרבי של חיוגים אל איש קשר לפני שייחשב לסגור", + "CONGESTIONMAXRETRY": "המספר המרבי של חיוגים אל איש קשר לפני שייחשב לסגור אם כישלון השיחה הוא בגלל עומס", + "CONGESTIONRETRYTIME": "הזמן בדקות לפני ניסיון חוזר לחייג אל איש קשר שהשיחה אליו נכשלה בגלל עומס", + "BUSYMAXRETRY": "המספר המרבי של חיוגים אל איש קשר לפני שייחשב לסגור אם כישלון השיחה הוא בגלל 'תפוס'", + "BUSYRETRYTIME": "הזמן בדקות לפני ניסיון חוזר לחיוג אל איש קשר שהשיחה אליו נכשלה בגלל 'תפוס'", + "NOANSWERMAXRETRY": "המספר המרבי של חיוגים אל איש קשר לפני שייחשב לסגור אם כישלון השיחה הוא בגלל 'אין תשובה'", + "NOANSWERRETRYTIME": "הזמן בדקות לפני ניסיון חוזר לחיוג אל איש קשר שהשיחה אליו נכשלה בגלל 'אין תשובה'", + "GLOBALINTERVAL": "מרווח הזמן הגלובלי שבמהלכו החייגן יכול לחייג אל אנשי קשר. אנו דוחים כל אחריות: שים לב בעת עריכת שינויים בשדה זה כדי לא לעבור בטעות על החוקים והתקנות החלים במדינתך בנושא חייגנים אוטומטיים", + "NAME": "מותר לכלול רק ספרות, אותיות ותווים ספציפיים (._)" + }, + "MUSICONHOLD": "מוזיקה בהמתנה", + "ANNOUNCETOAGENT": "הודעה לנציג", + "ANNOUNCEMENTS": "הודעות", + "ADVANCEDPREVIEW": "מתקדם", + "ADVANCED": "מתקדם", + "ADVANCE": "מתקדם", + "ANNOUNCEFREQUENCY": "תדירות הודעה", + "MINANNOUNCEFREQUENCY": "תדירות הודעה מינימלית", + "PERIODICANNOUNCEFREQUENCY": "תדירות הודעה מחזורית", + "RANDOMPERIODICANNOUNCE": "הודעה מחזורית בסדר אקראי", + "ANNOUNCEHOLDTIME": "זמן המתנה להודעה", + "ANNOUNCECALLERPOSITION": "הכרזת מיקום המתקשר בתור", + "ANNOUNCEPOSITIONLIMIT": "הכרזת מגבלת מקומות בתור", + "REPORTHOLDTIMEAGENT": "דיווח לנציג על זמן ההמתנה", + "PERIODICANNOUNCE": "הודעה מחזורית", + "HOLDTIMEANNOUNCE": "הודעת זמן המתנה", + "YOUARENEXTANNOUNCE": "הודעת 'אתה הבא בתור'", + "THEREAREANNOUNCE": "הודעת 'יש בתור'", + "WAITINGCALLSANNOUNCE": "הודעת 'שיחות ממתינות'", + "ESTIMATEDHOLDTIMEANNOUNCE": "הודעת 'זמן המתנה משוער'", + "MINUTESANNOUNCE": "הכרזת דקות", + "MINUTEANNOUNCE": "הכרזת דקה", + "SECONDSANNOUNCE": "הכרזת שניות", + "THANKYOUANNOUNCE": "הכרזת 'תודה רבה'", + "AUTOPAUSE": "השהיה אוטומטית", + "AFTERCALLWORK": "עבודה לאחר שיחה", + "AFTERCALLWORKDURATION": "משך עבודה לאחר שיחה", + "RINGINUSE": "הצלצול שבשימוש", + "MEMBERDELAY": "השהיית הנציג", + "TIMEOUTRESTART": "זמן קצוב להפעלה מחדש", + "MONITORFORMAT": "תבנית הקלטה", + "SETINTERFACEVARIABLES": "קבע משתני ממשק", + "SETQUEUEVARIABLES": "קבע משתני תור", + "SETQUEUEENTRYVARIABLES": "קבע משתני כניסה לתור", + "CONTEXT": "הקשר", + "SAVE": "שמור", + "SETTINGS": "הגדרות", + "INBOUNDROUTES": "נתיבים נכנסים", + "PHONENUMBER": "מספר טלפון", + "ADD_INBOUNDROUTE": "הוסף נתיב נכנס", + "EDIT_INBOUNDROUTE": "ערוך נתיב נכנס", + "DELETE_INBOUNDROUTE": "מחק נתיב נכנס", + "ACTIONS": "פעולות", + "OUTBOUNDROUTES": "נתיבים יוצאים", + "DESTINATIONPATTERN": "דפוס יעד", + "ADD_OUTBOUNDROUTE": "הוסף נתיב יוצא", + "EDIT_OUTBOUNDROUTE": "ערוך נתיב יוצא", + "DELETE_OUTBOUNDROUTE": "מחק נתיב יוצא", + "CUTDIGITS": "קצץ ספרות", + "RECORDING": "הקלטה", + "RECORDINGFORMAT": "תבנית הקלטה", + "INTERNALROUTES": "נתיבים פנימיים", + "ADD_INTERNALROUTE": "הוסף נתיב פנימי", + "EDIT_INTERNALROUTE": "ערוך נתיב פנימי", + "DELETE_INTERNALROUTE": "מחק נתיב פנימי", + "CONTEXTS": "הקשרים", + "ADD_CONTEXT": "הוסף הקשר", + "EDIT_CONTEXT": "ערוך הקשר", + "DELETE_CONTEXT": "מחק הקשר", + "VOICEMAILS": "הודעות קוליות", + "ADD_VOICEMAIL": "הוסף הודעה קולית", + "EDIT_VOICEMAIL": "ערוך הודעה קולית", + "DELETE_VOICEMAIL": "מחק הודעה קולית", + "FULLNAME": "שם מלא", + "EMAIL": "דוא\"ל", + "MAILBOX": "תיבת דואר", + "PASSWORD": "סיסמה", + "CONFIRM_PASSWORD": "אשר סיסמה", + "TIMEZONE": "אזור זמן", + "ATTACH": "צרף", + "ENVELOPE": "מעטפה", + "DELETE": "מחק", + "EMAILBODY": "גוף הודעת הדוא\"ל", + "EMAILSUBJECT": "נושא הודעת הדוא\"ל", + "MAXSECONDS": "מקס' שניות", + "MAXMESSAGES": "מקס' הודעות", + "MESSAGES": "הודעות", + "SORT": "מיון", + "ADD_MUSICONHOLD": "הוסף מוזיקה בהמתנה", + "MUSICONHOLDS": "מוזיקה בהמתנה", + "EDIT_MUSICONHOLD": "ערוך מוזיקה להמתנה", + "DELETE_MUSICONHOLD": "מחק מוזיקה להמתנה", + "DIRECTORY": "ספרייה", + "AUDIOFILES": "קובצי אודיו", + "RECORDINGS": "הקלטות", + "CHANSPY": "ChanSpy", + "PREFIX": "קידומת", + "OPTIONS": "אפשרויות", + "AUTH": "הרשאה", + "ADD_CHANSPY": "הוסף ChanSpy", + "EDIT_CHANSPY": "ערוך ChanSpy", + "DELETE_CHANSPY": "מחק ChanSpy", + "AGENTS": "נציגים", + "TELEPHONES": "טלפונים", + "QUEUES": "תורים", + "QUEUE_CALLS": "שיחות בתור", + "QUEUE_PARAMETERS": "פרמטרי תור", + "ABANDONED_CALLS": "שיחות שננטשו", + "OUTBOUND_CALLS": "שיחות יוצאות", + "AGI": "AGI", + "DIAL": "חייג", + "INTERNALDIAL": "חיוג פנימי", + "EXTERNALDIAL": "חיוג חיצוני", + "RINGGROUP": "קבוצת צלצול", + "PLAYBACK": "השמעה", + "QUEUE": "תור", + "SET": "סדרה", + "VOICEMAIL": "הודעה קולית", + "GOTO": "Goto", + "HANGUP": "נתק", + "CUSTOM": "מותאם אישית", + "PROJECT": "פרויקט Cally Square", + "TECHNOLOGY/RESOURCE": "טכנולוגיה/משאב", + "URL": "כתובת URL", + "EDIT_APP": "ערוך יישום", + "EDIT_INTERVAL": "ערוך מרווח זמן", + "DELETE_APP": "מחק יישום", + "INTERVALS": "מרווחי זמן", + "USER": "משתמש", + "TRUNK": "קו ראשי", + "PHONE": "טלפון", + "AUDIO_FILES": "קובצי אודיו", + "ANNOUNCE_OVERRIDES": "עקיפת הודעות", + "MACRO": "מאקרו", + "GOSUB": "GoSub", + "RULE": "כלל", + "POSITION": "מיקום", + "ANSWER": "תשובה", + "VALUE": "ערך", + "MAILBOX@CONTEXT": "Mailbox@Context", + "EXTENSION": "שלוחה", + "PRIORITY": "עדיפות", + "HANGUP_CAUSE": "סיבת הניתוק", + "OUTBOUNDDIAL": "חיוג יוצא", + "CALLER_ID": "מזהה מתקשר", + "NO_MESSAGE_AVAILABLE": "אין הודעות זמינות", + "NO_SOUND_AVAILABLE": "אין צלילים זמינים", + "VOICERECORDINGS": "הקלטות קול", + "CHANSPIES": "ChanSpy", + "VOICE": "קול", + "REALTIME": "Realtime", + "ID": "מזהה", + "VOICEMAIL_CONTEXT": "הקשר", + "NO_MOHSOUND_AVAILABLE": "אין מוסיקה זמינה להמתנה", + "FILE": "קובץ", + "ADD_MOHSOUND": "הוסף צליל מוזיקה בהמתנה", + "DOWNLOAD_MOHSOUND": "הורד צליל מוזיקה בהמתנה", + "DELETE_MOHSOUND": "מחק צליל מוזיקה בהמתנה", + "UNIQUEID": "מזהה ייחודי", + "AGENT": "נציג", + "TYPE": "סוג", + "RATING": "דירוג", + "AUDIO": "אודיו", + "DATE": "תאריך", + "NEW_VOICEQUEUE": "תור קול חדש", + "NEW_INBOUNDROUTE": "נתיב נכנס חדש", + "NEW_OUTBOUNDROUTE": "נתיב יוצא חדש", + "NEW_INTERNALROUTE": "נתיב פנימי חדש", + "NEW_CONTEXT": "הקשר חדש", + "NEW_VOICEMAIL": "הודעה קולית חדשה", + "NEW_MUSICONHOLD": "מוזיקה בהמתנה חדשה", + "NEW_CHANSPY": "ChanSpy חדש", + "PENALTY": "חסימה", + "ADD_TEAM_TO_VOICEQUEUE": "הוסף צוות לתור קול", + "ADD_AGENT_TO_VOICEQUEUE": "הוסף נציג לתור קול", + "EDIT_DIAL": "ערוך חיוג", + "EDIT_AGI": "ערוך AGI", + "EDIT_INTERNALDIAL": "ערוך חיוג פנימי", + "EDIT_EXTERNALDIAL": "ערוך חיוג חיצוני", + "EDIT_RINGGROUP": "ערוך קבוצת צלצול", + "EDIT_PLAYBACK": "ערוך השמעה", + "EDIT_QUEUE": "ערוך תור", + "EDIT_SET": "ערוך סדרה", + "EDIT_GOTO": "ערוך פריט Goto", + "EDIT_HANGUP": "ערוך ניתוק", + "EDIT_CUSTOM": "ערוך 'מותאם אישית'", + "DURATION": "משך", + "RECEIVED_AT": "התקבל ב-", + "YES": "כן", + "NO": "לא", + "HANGUPCAUSE_1": "1 = מספר שלא הוקצה", + "HANGUPCAUSE_16": "16 = ניקוי שיחה רגילה", + "HANGUPCAUSE_17": "17 = המשתמש תפוס", + "HANGUPCAUSE_18": "18 = אין תשובה מהמשתמש (טלפון לא מחובר)", + "HANGUPCAUSE_21": "21 = שיחה נדחתה", + "HANGUPCAUSE_22": "22 = המספר השתנה", + "HANGUPCAUSE_27": "27 = יעד לא תקין", + "HANGUPCAUSE_38": "38 = בעיה ברשת", + "HANGUPCAUSE_41": "41 = תקלה זמנית", + "RANDOM": "אקראי", + "ALPHABETICAL": "אלף-בית", + "NO_APPS_AVAILABLE": "אין יישומים זמינים", + "DOWNLOAD_VOICERECORDING": "הורד הקלטת קול", + "DELETE_VOICERECORDING": "מחק הקלטת קול", + "INTERNAL": "פנימי", + "PHONE_STATE": "מצב הטלפון", + "PHONE_STATUS": "סטטוס הטלפון", + "REGISTERED": "רשום", + "UNREGISTERED": "לא רשום", + "LAGGED": "בפיגור", + "REACHABLE": "נגיש", + "UNREACHABLE": "לא נגיש", + "UNKNOWN": "לא מזוהה", + "NOT_INUSE": "לא בשימוש", + "INUSE": "בשימוש", + "BUSY": "תפוס", + "INVALID": "לא תקף", + "UNAVAILABLE": "לא זמין", + "RINGING": "מצלצל", + "ONHOLD": "בהמתנה", + "RING": "צלצול", + "UP": "מעלה", + "INFO": "מידע", + "TRUNKS": "קווים ראשיים", + "REGISTRY": "רישום", + "NO_REGISTRY": "אין רישום", + "LOGGED_IN": "מחובר (יש חיבור SIP)", + "PAUSED": "מושהה", + "DISPOSITION": "פריסה", + "WAITING": "בהמתנה", + "TALKING": "משוחח", + "DID": "DID", + "CALLER": "מתקשר", + "TOTAL": "סה\"כ", + "ANSWERED": "נענה", + "ABANDONED": "ננטש", + "UNMANAGED": "לא מנוהלות", + "REDIRECT_TO_NUMBER": "הפנה למספר", + "REDIRECT_TO_AGENT": "הפנה לנציג", + "CLOSING": "סגירה", + "AVG_HOLD_TIME": "ממוצע זמן המתנה", + "AVG_DURATION": "משך ממוצע", + "AVG_BILLABLE": "ממוצע חיוב", + "SOURCE": "מקור", + "DESTINATION": "יעד", + "REJECTED": "נדחה", + "FAILED": "נכשל", + "CALLED": "בוצעה שיחה", + "CONNECTED": "מחובר", + "NO_RATING": "אין דירוג", + "EDIT_VOICERECORDING": "ערוך הקלטת קול", + "APPLICATION_NAME": "שם היישום", + "ARGUMENTS": "ארגומנטים", + "EDIT_QUEUECAMPAIGN": "ערוך מבצע", + "LISTADD_QUEUECAMPAIGN": "הוסף רשימה", + "BLACKLISTADD_QUEUECAMPAIGN": "הוסף רשימה שחורה", + "TEAMADD_QUEUECAMPAIGN": "הוסף צוות", + "AGENTADD_QUEUECAMPAIGN": "הוסף נציג", + "DELETE_QUEUECAMPAIGN": "מחק מבצע", + "DELETE_IVRCAMPAIGN": "מחק מבצע", + "EDIT_IVRCAMPAIGN": "ערוך מבצע", + "NEW_IVRCAMPAIGN": "מבצע IVR חדש", + "ADD_IVRCAMPAIGN": "הוסף מבצע IVR", + "LISTADD_IVRCAMPAIGN": "הוסף רשימה", + "BLACKLISTADD_IVRCAMPAIGN": "הוסף רשימה שחורה", + "ENABLED": "מופעל", + "READY": "מוכן", + "PAUSE": "השהה", + "UNPAUSE": "סיים השהיה", + "DEFAULT_PAUSE": "השהיית ברירת המחדל", + "AGENTADD_QUEUE": "הוסף נציג למבצע תורים", + "AGENTSADD_QUEUE": "הוסף נציגים למבצע תורים", + "ALL_TEAMS": "כל הצוותים", + "SELECTED_TEAMS": "צוותים נבחרים", + "ALL_LISTS": "כל הרשימות", + "SELECTED_LISTS": "רשימות נבחרות", + "ALL_AGENTS": "כל הנציגים", + "SELECTED_AGENTS": "נציגים נבחרים", + "WAITING_FOR_AGENT": "בהמתנה לנציג", + "TOTAL_OFFERED": "סה\"כ הוצעו", + "RUNNING": "פעיל כעת", + "TRUNK_IS_NOT_REACHABLE": "קו ראשי בלתי נגיש", + "AGENTS_NOT_LOGGED": "נציג לא מחובר", + "NOT_ACTIVE": "לא פעיל", + "IS_DISACTIVED": "מושבת", + "BACKUPTRUNK": "קו ראשי חלופי", + "GLOBALINTERVAL": "מרווח זמן גלובלי", + "RESCHEDULED_CONTACTS": "אנשי קשר ששובצו מחדש", + "INTERVAL_IS_OVERTIME": "חריגה ממרווח זמן", + "GLOBAL_INTERVAL_IS_OVERTIME": "חריגה ממרווח זמן (גלובלי)", + "INTERVAL_IS_NULL": "מרווח הזמן Null", + "TIMEZONE_UNKNOW": "אזור זמן לא ידוע", + "INTERVAL_IS_EMPTY": "מרווח הזמן ריק", + "TOTAL_MANAGED": "סה\"כ נוהלו", + "OPEN": "פתח", + "FRESH": "רענן", + "CLOSED": "סגור", + "ALWAYS": "תמיד", + "NEVER": "אף פעם", + "ONLY_IF_OPEN": "רק אם פתוח", + "CHECKDUPLICATE": "בדוק כפילות", + "PAGE": "דף", + "ROWSPERPAGE": "שורות בדף", + "OF": "מתוך", + "CHAT": "צ'אט", + "MAIL": "דוא\"ל", + "SMS": "SMS", + "OPENCHANNEL": "פתח ערוץ", + "FAX": "פקס" + } +} \ No newline at end of file diff --git a/public/app/main/apps/motiondialer/i18n/ja.json b/public/app/main/apps/motiondialer/i18n/ja.json index aad42dc..a29d37c 100644 --- a/public/app/main/apps/motiondialer/i18n/ja.json +++ b/public/app/main/apps/motiondialer/i18n/ja.json @@ -112,7 +112,7 @@ "DIALRECALLINQUEUE": "キュー内のエージェントのコールの再スケジュール", "DIALRECALLMETIMEOUT": "リコールメイの有効期間の時間間隔(分)", "ESTIMATEDHOLDTIMEANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"現在の推定保留時間は\"です。未定義=アナウンスなし", - "GLOBALINTERVAL": "ダイヤラが連絡先に電話をかけることができるグローバルな時間間隔。一切責任はおえません。このフィールドを変更するときは注意してください。これを行うと、National Autodialer Laws and Regulationsに違反する可能性があります", + "GLOBALINTERVAL": "ダイヤラが連絡先に電話をかけることができるグローバルな営業時間。一切責任はおえません。このフィールドを変更するときは注意してください。これを行うと、National Autodialer Laws and Regulationsに違反する可能性があります", "GLOBALMAXRETRY": "連絡先が閉じられたとみなす前に呼び出された最大回数", "HOLDTIMEANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"保留時間\"。未定義=アナウンスなし", "JOINWHENEMPTY": "使用可能なエージェントがないときに発信者がキューに追加された場合", @@ -322,7 +322,7 @@ "EDIT_INBOUNDROUTE": "インバウンドルートの編集", "EDIT_INTERNALDIAL": "内部ダイヤルの編集", "EDIT_INTERNALROUTE": "内部ルートの編集", - "EDIT_INTERVAL": "間隔を編集", + "EDIT_INTERVAL": "営業時間を編集", "EDIT_IVRCAMPAIGN": "キャンペーンの編集", "EDIT_MUSICONHOLD": "保留音の編集", "EDIT_OUTBOUNDROUTE": "アウトバウンドルートの編集", @@ -352,9 +352,9 @@ "FULLNAME": "フルネーム", "GENERAL": "一般", "GLOBAL": "グローバル", - "GLOBALINTERVAL": "グローバル間隔", + "GLOBALINTERVAL": "グローバルな営業時間", "GLOBALMAXRETRY": "最大再試行回数", - "GLOBAL_INTERVAL_IS_OVERTIME": "間隔時間外(グローバル)", + "GLOBAL_INTERVAL_IS_OVERTIME": "営業時間外(グローバル)", "GOSUB": "GoSub", "GOTO": "GoTo", "GOTOREALTIME_IVRCAMPAIGN": "リアルタイムIVRキャンペンに移動", @@ -386,11 +386,11 @@ "INTERNAL": "内部", "INTERNALDIAL": "内部ダイヤル", "INTERNALROUTES": "内部ルート", - "INTERVAL": "間隔", - "INTERVALS": "間隔", - "INTERVAL_IS_EMPTY": "間隔はEmptyです", - "INTERVAL_IS_NULL": "間隔はNullです", - "INTERVAL_IS_OVERTIME": "間隔時間外", + "INTERVAL": "営業時間", + "INTERVALS": "営業時間", + "INTERVAL_IS_EMPTY": "営業時間はEmptyです", + "INTERVAL_IS_NULL": "営業時間はNullです", + "INTERVAL_IS_OVERTIME": "営業時間外", "INUSE": "使用中", "INVALID": "無効", "IS_DISACTIVED": "無効化", diff --git a/public/app/main/apps/openchannel/i18n/he.json b/public/app/main/apps/openchannel/i18n/he.json new file mode 100644 index 0000000..1c8d2f2 --- /dev/null +++ b/public/app/main/apps/openchannel/i18n/he.json @@ -0,0 +1,236 @@ +{ + "OPENCHANNEL": { + "LOGIN_TIME": "שעת כניסה", + "PAUSE_TIME": "שעת השהיה", + "DOWNLOAD_INTERACTION": "הורד", + "TRANSFER": "העבר", + "QUEUETRANSFER": "העברת תור", + "QUEUETRANSFERTIMEOUT": "סוף זמן קצוב להעברת תור", + "AGENTTRANSFER": "העברת נציג", + "AGENTTRANSFERTIMEOUT": "סוף זמן קצוב להעברת נציג", + "TAG": "תג", + "EDIT_TAG": "ערוך תג", + "ADVANCED": "מתקדם", + "PROXY": "פרוקסי", + "TOKEN": "אסימון", + "WAITFORTHEASSIGNEDAGENT": "המתן לנציג שהוקצה", + "INSERT_MESSAGE_HERE": "הוסף כאן את הודעת הטקסט", + "NOTIFICATION": "הודעה", + "NOTIFICATIONSOUND": "צליל", + "NOTIFICATIONSHAKE": "לחיצה", + "NOTIFICATIONTEMPLATE": "תבנית", + "SYSTEM": "מערכת", + "EDIT_SYSTEM": "ערוך מערכת", + "COMMAND": "פקודה", + "VARIABLE": "משתנה", + "DELETE": "מחק", + "CANNEDANSWERS": "תשובות מוכנות", + "OPENCHANNELCANNEDANSWERS": "תשובות מוכנות", + "NO_OPENCHANNELCANNEDANSWER_AVAILABLE": "אין תשובות מוכנות זמינות", + "NEW_OPENCHANNELCANNEDANSWER": "תשובה מוכנה חדשה", + "ADD_OPENCHANNELCANNEDANSWER": "הוסף תשובה מוכנה", + "EDIT_OPENCHANNELCANNEDANSWER": "ערוך", + "DELETE_OPENCHANNELCANNEDANSWER": "מחק", + "DELIVERYREPORTURL": "כתובת URL לדוח מסירה", + "TAGS": "תגים", + "SPYINTERACTION": "רגל", + "NO_AGENT_ONLINE": "אין נציג מקוון", + "GOTOREALTIME_OPENCHANNELQUEUE": "עבור אל תור ערוצים פתוחים ב-Realtime", + "PARTIALPAUSE": "השהיה חלקית", + "BUSY": "תפוס", + "TIMER": "טיימר", + "IDLE": "במצב סרק", + "CAPACITY": "קיבולת", + "REALTIME": "Realtime", + "TEXT": "טקסט", + "TIMES": "מספר הפעמים בכל אינטראקציה", + "EDIT_AUTOREPLY": "ערוך תשובה אוטומטית", + "AUTOREPLY": "תשובה אוטומטית", + "NAME": "שם", + "OPENCHANNELQUEUES": "פתח תורי ערוצים", + "SEARCH_FOR_ANYONE": "חיפוש", + "ERRORS": { + "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "QUEUETRANSFERTIMEOUT_REQUIRED": "שדה חובה", + "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "AGENTTRANSFERTIMEOUT_REQUIRED": "שדה חובה", + "TAG_REQUIRED": "שדה חובה", + "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "WAITFORTHEASSIGNEDAGENT_REQUIRED": "שדה חובה", + "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "NAME_MUST_VALID_PATTERN": "תבנית שגויה", + "KEY_REQUIRED": "שדה חובה", + "LIST_REQUIRED": "שדה חובה", + "COMMAND_REQUIRED": "שדה חובה", + "TEXT_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "VALUE_REQUIRED": "שדה חובה", + "TEXT_REQUIRED": "שדה הטקסט הוא שדה חובה", + "NAME_REQUIRED": "שדה חובה", + "AGENT_TIMEOUT_REQUIRED": "שדה חובה", + "MOTIONADDRESS_REQUIRED": "שדה חובה", + "MOTIONADDRESS_MUST_VALID_URL": "תבנית שגויה", + "ACCEPTURL_MUST_VALID_URL": "תבנית שגויה", + "TIMEOUT_REQUIRED": "שדה חובה", + "REJECTURL_MUST_VALID_URL": "תבנית שגויה", + "CLOSEURL_MUST_VALID_URL": "תבנית שגויה", + "REPLYURI_REQUIRED": "שדה חובה", + "REPLYURI_MUST_VALID_URL": "תבנית שגויה", + "PRIORITY_REQUIRED": "שדה חובה", + "CONDITION_REQUIRED": "שדה חובה", + "TRUEPRIORITY_REQUIRED": "שדה חובה", + "FALSEPRIORITY_REQUIRED": "שדה חובה", + "AGENT_REQUIRED": "שדה חובה", + "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "DISPOSITION_REQUIRED": "שדה חובה", + "QUEUE_REQUIRED": "שדה חובה", + "KEY_MAX_LENGTH": "האורך המרבי המותר של מפתח הוא {{max}}" + }, + "STRATEGY": "אסטרטגיה", + "AGENT": "נציג", + "GOTO": "Goto", + "GOTOIF": "GotoIf", + "NOOP": "Noop", + "QUEUE": "תור", + "EDIT_AGENT": "ערוך נציג", + "EDIT_GOTO": "ערוך פריט Goto", + "EDIT_NOOP": "ערוך פריט Noop", + "EDIT_GOTOIF": "ערוך פריט GotoIf", + "EDIT_QUEUE": "ערוך תור", + "CONDITION": "תנאי", + "TRUEPRIORITY": "עדיפות TRUE", + "FALSEPRIORITY": "עדיפות FALSE", + "VALUE": "ערך", + "PRIORITY": "עדיפות", + "AGENT_TIMEOUT": "סוף זמן קצוב לנציג", + "DESCRIPTION": "תיאור", + "ADD_OPENCHANNELQUEUE": "הוסף תור ערוצים פתוחים", + "EDIT_OPENCHANNELQUEUE": "ערוך תור ערוצים פתוחים", + "DELETE_OPENCHANNELQUEUE": "מחק תור ערוצים פתוחים", + "PENALTY": "חסימה", + "TEAMADD_OPENCHANNELQUEUE": "הוסף צוות לתור ערוצים פתוחים", + "AGENTADD_OPENCHANNELQUEUE": "הוסף נציג לתור ערוצים פתוחים", + "ALL_AGENTS": "כל הנציגים", + "SELECTED_AGENTS": "נציגים נבחרים", + "CREATED_AT": "נוצר ב-", + "SAVE": "שמור", + "SETTINGS": "הגדרות", + "GENERAL": "כללי", + "OPENCHANNELACCOUNTS": "חשבונות ערוצים פתוחים", + "MOTIONADDRESS": "כתובת Motion", + "ADD_OPENCHANNELACCOUNT": "הוסף חשבון ערוצים פתוחים", + "EDIT_OPENCHANNELACCOUNT": "ערוך חשבון ערוצים פתוחים", + "DELETE_OPENCHANNELACCOUNT": "מחק חשבון ערוצים פתוחים", + "API": "ממשק API", + "DISPOSITIONS": "פריסות", + "WEBHOOKS": "רכיבי WebHook", + "ACTIONS": "פעולות", + "LIST": "רשימה", + "FIDELITY": "מהימנות", + "ACCEPT": "קבל", + "ACCEPTMETHOD": "שיטת קבלה", + "ACCEPTURL": "קבל כתובת URL", + "REJECT": "דחה", + "REJECTMETHOD": "שיטת דחייה", + "REJECTURL": "דחה כתובת URL", + "CLOSE": "סגור", + "CLOSEMETHOD": "שיטת סגירה", + "CLOSEURL": "סגור כתובת URL", + "SELECTED": "נבחר/ו", + "SELECT_ALL": "בחר הכול", + "SELECT_NONE": "אל תבחר אף פריט", + "BACK": "חזרה", + "OPENCHANNEL": "פתח ערוץ", + "ID": "מזהה", + "TIMEOUT": "זמן קצוב", + "OPENCHANNELDISPOSITIONS": "פריסות ערוצים פתוחים", + "NO_OPENCHANNELDISPOSITION_AVAILABLE": "אין פריסות ערוצים פתוחים זמינות", + "NEW_OPENCHANNELDISPOSITION": "פריסת ערוצים פתוחים חדשה", + "ADD_OPENCHANNELDISPOSITION": "הוסף פריסת ערוצים פתוחים", + "EDIT_OPENCHANNELDISPOSITION": "ערוך פריסת ערוצים פתוחים", + "DELETE_OPENCHANNELDISPOSITION": "מחק פריסת ערוצים פתוחים", + "NEW_OPENCHANNELQUEUE": "תור ערוצים פתוחים חדש", + "NEW_OPENCHANNELACCOUNT": "חשבון ערוצים פתוחים חדש", + "NO_AVAILABLE_INFO": "אין פרטים זמינים", + "ALL_TEAMS": "כל הצוותים", + "SELECTED_TEAMS": "צוותים נבחרים", + "REPLYURI": "כתובת אינטרנט למענה", + "RECEIVEURI": "קבל כתובת URL", + "HELP": { + "TOKEN": "הוסף תכונה זו כמחרוזת שאילתה בכתובת ה-URL של שירות האינטרנט שאתה מספק. לפרטים נוספים, עיין במסמך כאן", + "RECEIVEURI": "מחרוזת API המופקת באופן אוטומטי, משמשת לקבלת הודעות פתוחות בתוך הערוץ הפתוח שלך מהיישום החיצוני (בשיטת POST). לחץ על לחצן הלוח כדי להעתיק את המחרוזת ", + "REPLYURI": "כתובת ה-URL שהערוץ הפתוח יתקשר אליה בעת שליחת הודעה או תשובה על הודעה. לפרטים נוספים, עיין במסמך כאן", + "NAME": "מותר לכלול רק ספרות, אותיות ותווים ספציפיים (._)", + "LIST": "רשימת 'מנהל אנשי הקשר' המשמשת לשיוך אנשי קשר" + }, + "PAGE": "דף", + "ROWSPERPAGE": "שורות בדף", + "OF": "מתוך", + "CONTACT": "איש קשר", + "STARTEDAT": "החל ב-", + "STATUS": "סטטוס", + "CLOSED": "סגור", + "OPENED": "פתח", + "OPEN": "פתח", + "ACCOUNT": "חשבון", + "INTERACTION": "אינטראקציה", + "INTERACTIONS": "אינטראקציות", + "ALL": "הכול", + "SELECT_STATUS": "בחר סטטוס", + "FILTER": "מסנן", + "FILTERS": "מסננים", + "CLOSEDAT": "נסגר ב-", + "DISPOSITION": "פריסה", + "NOTES": "פתקים ורשימות", + "NO_INTERACTION_AVAILABLE": "אין אינטראקציות זמינות", + "SELECT_ACCOUNT": "בחר חשבון", + "GOTOP": "Gotop", + "EDIT_GOTOP": "ערוך פריט Gotop", + "EDIT_CLOSE": "ערוך סגירה", + "INFO": "מידע", + "KEY": "מפתח", + "UNKNOWN": "לא מזוהה", + "UNREGISTERED": "לא רשום", + "UNAVAILABLE": "לא זמין", + "NOT_INUSE": "לא בשימוש", + "REACHABLE": "נגיש", + "IN_USE": "בשימוש", + "AGENTS": "נציגים", + "QUEUES": "תורים", + "FULLNAME": "שם מלא", + "INTERNAL": "פנימי", + "PHONE_STATE": "מצב הטלפון", + "PHONE_STATUS": "סטטוס הטלפון", + "PAUSE": "השהה", + "LOGOUT": "יציאה", + "AGENTADD_QUEUE": "הוסף נציג לתור ערוצים פתוחים", + "UNPAUSE": "סיים השהיה", + "DEFAULT_PAUSE": "השהיית ברירת המחדל", + "LOGGED_IN": "מחובר", + "PAUSED": "מושהה", + "READY": "מוכן", + "WAITING": "בהמתנה", + "VOICE": "קול", + "CHAT": "צ'אט", + "MAIL": "דוא\"ל", + "SMS": "SMS", + "FAX": "פקס", + "AGENTSADD_QUEUE": "הוסף נציגים לתור ערוצים פתוחים", + "INTERACTIONS_OPENCHANNELACCOUNT": "עבור אל אינטראקציות", + "REFRESH_INTERACTIONS": "רענן אינטראקציות", + "DELETE_INTERACTION": "מחק אינטראקציה", + "AGENTADD_OPENCHANNELACCOUNT": "הוסף נציג לחשבון ערוצים פתוחים", + "CANNED_ANSWER_SEARCH": "הזן טקסט כדי לחפש תשובה מוכנה", + "CANNED_ANSWER_NOT_FOUND": "לא נמצאו תשובות מוכנות", + "SEND": "שלח", + "TO": "אל", + "MAPKEY": "מפתח מפה" + } +} \ No newline at end of file diff --git a/public/app/main/apps/plugins/i18n/he.json b/public/app/main/apps/plugins/i18n/he.json new file mode 100644 index 0000000..847ca0f --- /dev/null +++ b/public/app/main/apps/plugins/i18n/he.json @@ -0,0 +1,7 @@ +{ + "PLUGINS": { + "PLUGINS": "יישומי Plug-in", + "ERRORS": {}, + "HELP": {} + } +} \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/he.json b/public/app/main/apps/settings/i18n/he.json new file mode 100644 index 0000000..357e92e --- /dev/null +++ b/public/app/main/apps/settings/i18n/he.json @@ -0,0 +1,194 @@ +{ + "SETTINGS": { + "MOTIONBARREMEMBERME": "זכור אותי", + "CHATTIMEOUT": "נגמר הזמן הקצוב לאינטראקציית סגירת צ'אט", + "VIRTUAL": "צ'אט", + "VOICE": "קול", + "SESSIONS": "הפעלות", + "ADDONS": "תוספים", + "REPORT": "דוח", + "SPLIT": "פצל דוח", + "SPLITSIZECSV": "פצל דוח [רשומות CSV]", + "SPLITSIZEPDF": "פצל דוח [רשומות PDF]", + "SPLITSIZEXLSX": "פצל דוח [רשומות XLSX]", + "ENABLEEMAILPREVIEW": "אפשר תצוגה מקדימה של דוא\"ל", + "JAWS": "Jaws", + "MOTIONBAR": "Motionbar", + "MOTIONBARAUTOUPDATER": "עדכון אוטומטי", + "MOTIONBARAUTOUPDATERURL": "כתובת ה-URL של העדכון האוטומטי", + "SMTP_SSL": "SMTP SSL", + "CALL_RECORDING_ENCRYPTION": "הצפנת הקלטת קול", + "TURNADDR": "כתובת TURN", + "TURN_USERNAME": "שם משתמש TURN", + "TURN_PASSWORD": "סיסמת TURN", + "WEBRTC": "WebRTC", + "CALLYSQUARE": "Cally Square", + "ENABLED": "מופעל", + "DISABLED": "מושבת", + "UNLIMITED_CHANNELS": "ערוצים ללא הגבלה", + "RELOAD": "טען מחדש", + "VERIFY": "בצע אימות", + "INTERFACE": "ממשק", + "UPDATING": "עדכון", + "REMOTE_VERSION": "גרסה מרוחקת", + "NO_NEW_VERSION_AVAILABLE": "אין גרסה חדשה זמינה", + "TOP_N_PROCESSES": "{{value}} התהליכים המובילים", + "SYSTEM": "מערכת", + "FILE_SYSTEM": "מערכת קבצים", + "PROCESSES": "תהליכים", + "MOUNT_POINT": "הרכב", + "AVG_LOAD": "עומס AVG", + "TOTAL": "סה\"כ", + "USED": "במצב שימוש", + "FREE": "במצב פנוי", + "NAME": "שם", + "STATE": "מדינה", + "CHAT": "צ'אט", + "MAIL": "דוא\"ל", + "MESSAGING": "SMS", + "FAX": "פקס", + "OPENCHANNEL": "פתח ערוץ", + "AGENTS": "נציגים", + "USERS": "משתמשים", + "TELEPHONES": "טלפונים", + "STAFF": "צוות", + "CHANNELS": "ערוצים", + "MODULES": "מודולים", + "CM": "מנהל אנשי הקשר", + "DIALER": "חייגן", + "JSCRIPTY": "Jscripty", + "CUSTOM": "התאמה אישית", + "UPDATE": "עדכן", + "OTHERS": "אחרים", + "SETTINGS": "הגדרות", + "GENERAL": "כללי", + "SMTP": "SMTP", + "NETWORKS": "רשתות", + "UPDATES": "עדכונים", + "LICENSE": "רישיון", + "ID": "מזהה", + "MIN_INTERNAL": "מינ' פנימי", + "MIN_MAILBOX": "מינ' תיבת דואר", + "INSTALLED_AT": "מותקן ב-", + "SEARCH_FOR_ANYONE": "חיפוש", + "EDIT_GENERAL": "ערוך 'כללי'", + "SECURE_PASSWORD": "סיסמה מאובטחת", + "LOGO": "לוגו", + "DEFAULT_LOGO": "לוגו ברירת המחדל", + "DEFAULT_LOGIN_LOGO": "לוגו ברירת המחדל לכניסה", + "WHITELABEL": "תווית לבנה", + "DEFAULT_HEADER_WHITELABEL": "ברירת מחדל של תווית לבנה בכותרת עליונה", + "HEADER_WHITELABEL": "תווית לבנה בכותרת עליונה", + "CREATED_AT": "נוצר ב-", + "SAVE": "שמור", + "SMTP_SERVICE": "שירות", + "SMTP_HOST": "מארח", + "SMTP_USERNAME": "שם משתמש", + "DESCRIPTION": "תיאור", + "SMTP_PASSWORD": "סיסמה", + "SMTP_PORT": "יציאה", + "SMTP_SECURE": "מאובטח", + "TYPE": "סוג", + "ADDRESS": "כתובת", + "NEW_NETWORK": "רשת חדשה", + "ADD_NETWORK": "הוסף רשת", + "HELP": { + "ADDRESS": "כתובת IP חיצונית (ציבורית)", + "LOCALNETADDRESS": "כתובת IP/רשת משנית מקומית", + "SMTP_SECURE": "אם TRUE, החיבור לשרת יתבסס על TLS", + "SMTP_USERNAME": "האימות מבוסס על שם משתמש", + "SMTP_PASSWORD": "האימות מבוסס על סיסמה", + "EMAILADDRESS": "כתובת הדוא\"ל המקורית של ההודעה (מאת)", + "SECURITY_SUITE": "מפעיל את תבנית הסיסמה המאובטחת, את איפוס סיסמת החובה לאחר הכניסה הראשונה ואת פקיעת תוקף הסיסמה כעבור 90 יום", + "MOTIONBARREMEMBERME": "הפעל/השבת את התכונה 'זכור אותי' ב-Motion Phonebar" + }, + "ERRORS": { + "CHATTIMEOUT_REQUIRED": "שדה חובה", + "CHATTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "MOTIONBARAUTOUPDATERURL_MUST_VALID_URL": "תבנית שגויה", + "MOTIONBARAUTOUPDATERURL_REQUIRED": "שדה חובה", + "ADDRESS_REQUIRED": "שדה חובה", + "MIN_INTERNAL_REQUIRED": "שדה חובה", + "MIN_MAILBOX_REQUIRED": "שדה חובה", + "NAME_REQUIRED": "שדה חובה", + "HEADER_WHITELABEL_REQUIRED": "שדה חובה", + "LOCALNETADDRESS_REQUIRED": "שדה חובה", + "LOCALNETADDRESS_MUST_VALID_PATTERN": "תבנית שגויה", + "ADDRESS_MUST_VALID_PATTERN": "תבנית שגויה", + "ACCOUNTNAME_REQUIRED": "שדה חובה", + "EMAIL_MUST_VALID": "תבנית שגויה", + "SMTP_USERNAME_REQUIRED": "שדה חובה", + "PASSWORD_REQUIRED": "שדה חובה", + "SMTP_HOST_REQUIRED": "שדה חובה", + "SMTP_PORT_REQUIRED": "שדה חובה", + "MIN_INTERNAL_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "MIN_MAILBOX_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "PAGE_TITLE_REQUIRED": "שדה חובה", + "EMAIL_REQUIRED": "שדה חובה", + "PLAN_REQUIRED": "שדה חובה", + "LICENSE_REQUIRED": "שדה חובה" + }, + "EDIT_NETWORK": "ערוך רשת", + "DELETE_NETWORK": "מחק רשת", + "BACK": "חזרה", + "SELECTED": "נבחר/ו", + "SELECT_ALL": "בחר הכול", + "SELECT_NONE": "אל תבחר אף פריט", + "EXPIRATION_DATE": "תאריך תפוגה", + "REQUEST_LICENSE": "בקש רישיון", + "EMAIL": "דוא\"ל", + "SEND": "שלח", + "PLAN": "חבילה", + "MONTH_TO_MONTH": "מחודש לחודש", + "MOTION_PROCESS_MANAGEMENT": "ניהול תהליכים ב-Motion", + "USEFUL_COMMANDS": "פקודות שימושיות", + "COMMAND": "פקודה", + "PM2_LIST": "רשימת כל התהליכים", + "PM2_START": "התחל תהליך לפי מזהה או שם", + "PM2_STOP": "עצור תהליך לפי מזהה או שם או הזן 'הכול' כדי לעצור את כל התהליכים הפעילים", + "PM2_RESTART": "הפעל תהליך מחדש לפי מזהה או שם", + "PM2_LOGS": "הזרם את קובצי היומן של כל התהליכים, אלא אם כן צוין מזהה או שם תהליך ספציפי", + "PASSWORD": "סיסמה", + "NO_AVAILABLE_INFO": "אין פרטים זמינים", + "STUNADDR": "כתובת STUN", + "CHANGELOG": "Changelog", + "CURRENT_VERSION": "גרסה נוכחית", + "CUSTOMIZATIONS": "התאמות אישיות", + "LOCALNETADDRESS": "כתובת רשת מקומית", + "NEW_VERSION": "גרסה חדשה", + "TRIAL_VERSION": "גרסה לניסיון", + "TOKEN": "אסימון", + "NEW_TOKEN_DETECTED": "זוהה אסימון חדש", + "EXPIRATION_GRAY_PERIOD": "תקופה אפורה – תפוגה", + "NEW_TOKEN": "אסימון חדש", + "PRICES": "מחירים", + "UPDATE_LICENSE": "עדכן רישיון", + "LOGOLOGIN": "לוגו כניסה", + "EXPIRATION_REASON": "סיבת התפוגה", + "GLOBAL": "גלובלי", + "SMTP_AUTHENTICATION": "אימות", + "LICENSE_REQUEST_SENT": "תודה! צוות הרישוי יבדוק את החשבון שלך בהקדם האפשרי כדי לאשר את בקשתך: תקבל הודעת דוא\"ל ברגע שהשינויים ייכנסו לתוקף. לרשותך פרטים נוספים ב-license@xcally.com.", + "ACCOUNTNAME": "שם החשבון", + "EMAILADDRESS": "כתובת דוא\"ל", + "EXPIRATION_REASON_MESSAGE_DISABLED": "הרישיון שלך הושבת.", + "EXPIRATION_REASON_MESSAGE_CHANGED": "המזהה הייחודי של המחשב עודכן בשל שינוי במערכת.", + "EXPIRATION_CHANGED_ADVISE": "פנה אל צוות הרישוי של xCALLY Motion וציין בפנייתך את ה-UUID החדש והקודם כאחד.", + "OLD_TOKEN": "אסימון קודם", + "SEND_EMAIL_TO": "שלח הודעת דוא\"ל אל", + "JIRA_ERROR_MESSAGE": "שגיאה בעיבוד בקשת הרישוי. פנה אל צוות הרישוי שלנו דרך license@xcally.com", + "PAGE": "דף", + "ROWSPERPAGE": "שורות בדף", + "OF": "מתוך", + "PAGE_TITLE": "כותרת הדף", + "DEFAULT_PAGE_TITLE": "ברירת המחדל של כותרת הדף", + "PERPETUAL": "קבוע", + "SECURITY_SUITE": "Security Suite", + "ANNUALLY": "שנתי", + "AGENTOMNIDESKTOPINTERFACE": "ממשק נציג Omni Desktop Interface", + "MESSAGESALIGNMENT": "יישור הודעות", + "ENTER_LICENSE": "הזן פרטי רישיון", + "UPDATE_LICENSE_MANUALLY": "האם ברצונך לעדכן את הרישיון באופן ידני?", + "DEFAULT_PREFERRED": "לוגו מועדף המוגדר כברירת מחדל", + "PREFERRED": "לוגו מועדף" + } +} \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/ja.json b/public/app/main/apps/settings/i18n/ja.json index c721d45..59794af 100644 --- a/public/app/main/apps/settings/i18n/ja.json +++ b/public/app/main/apps/settings/i18n/ja.json @@ -83,7 +83,7 @@ "INSTALLED_AT": "インストール日付", "INTERFACE": "インタフェース", "JIRA_ERROR_MESSAGE": "ライセンス要求中にエラーが発生しました。お客様のご要求によりlicense@xcally.comでライセンスチームまでご連絡ください", - "JSCRIPTY": "Jscripty", + "JSCRIPTY": "モニタリング", "LICENSE": "ライセンス", "LICENSE_REQUEST_SENT": "ありがとうございます。ライセンスチームは要求を承認するたまにアカウントをできる限り早く確認します。変更が有効になるとメールが届きます。詳細については、license@xcally.comまでお問い合わせください。", "LOCALNETADDRESS": "Localnetアドレス", diff --git a/public/app/main/apps/sms/i18n/he.json b/public/app/main/apps/sms/i18n/he.json new file mode 100644 index 0000000..a4bfd6b --- /dev/null +++ b/public/app/main/apps/sms/i18n/he.json @@ -0,0 +1,258 @@ +{ + "SMS": { + "LOGIN_TIME": "שעת כניסה", + "PAUSE_TIME": "שעת השהיה", + "DOWNLOAD_INTERACTION": "הורד", + "TRANSFER": "העבר", + "QUEUETRANSFER": "העברת תור", + "QUEUETRANSFERTIMEOUT": "סוף זמן קצוב להעברת תור", + "AGENTTRANSFER": "העברת נציג", + "AGENTTRANSFERTIMEOUT": "סוף זמן קצוב להעברת נציג", + "TAG": "תג", + "EDIT_TAG": "ערוך תג", + "WAITFORTHEASSIGNEDAGENT": "המתן לנציג שהוקצה", + "NOTIFICATION": "הודעה", + "NOTIFICATIONSOUND": "צליל", + "NOTIFICATIONSHAKE": "לחיצה", + "NOTIFICATIONTEMPLATE": "תבנית", + "SYSTEM": "מערכת", + "EDIT_SYSTEM": "ערוך מערכת", + "COMMAND": "פקודה", + "VARIABLE": "משתנה", + "AUTHID": "אימות מזהה", + "NO_SMSDISPOSITIONS_AVAILABLE": "אין פריסת SMS זמינה", + "CANNEDANSWERS": "תשובות מוכנות", + "SMSCANNEDANSWERS": "תשובות מוכנות", + "NO_SMSCANNEDANSWER_AVAILABLE": "אין תשובות מוכנות זמינות", + "NEW_SMSCANNEDANSWER": "תשובה מוכנה חדשה", + "ADD_SMSCANNEDANSWER": "הוסף תשובה מוכנה", + "EDIT_SMSCANNEDANSWER": "ערוך", + "DELETE_SMSCANNEDANSWER": "מחק", + "DELIVERYREPORTURL": "כתובת URL לדוח מסירה", + "DELETE": "מחק", + "SENDERSTRING": "מחרוזת השולח", + "DELIVERYREPORT": "דוח מסירה", + "METHOD": "שיטה", + "ADD_NOTE": "הוסף פתק/הערה", + "NOTE": "פתק/הערה", + "SPYINTERACTION": "רגל", + "AUTOREPLY": "תשובה אוטומטית", + "EDIT_AUTOREPLY": "ערוך תשובה אוטומטית", + "TIMES": "מספר הפעמים בכל אינטראקציה", + "TEXT": "טקסט", + "INSERT_MESSAGE_HERE": "הוסף כאן את הודעת הטקסט", + "CANNED_ANSWER_NOT_FOUND": "לא נמצאו תשובות מוכנות", + "CANNED_ANSWER_SEARCH": "הזן טקסט כדי לחפש תשובה מוכנה", + "SEND": "שלח", + "TO": "אל", + "MESSAGE": "הודעה", + "TAGS": "תגים", + "NO_AGENT_ONLINE": "אין נציג מקוון", + "GOTOREALTIME_SMSQUEUE": "עבור אל תור ה-SMS של Realtime", + "PARTIALPAUSE": "השהיה חלקית", + "BUSY": "תפוס", + "TIMER": "טיימר", + "IDLE": "במצב סרק", + "CAPACITY": "קיבולת", + "PROXY": "פרוקסי", + "ADVANCED": "מתקדם", + "MOTIONPROXY": "פרוקסי או דומיין Motion", + "REALTIME": "Realtime", + "KEY": "מפתח", + "NAME": "שם", + "SMSQUEUES": "תורי SMS", + "SEARCH_FOR_ANYONE": "חיפוש", + "STRATEGY": "אסטרטגיה", + "ERRORS": { + "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "QUEUETRANSFERTIMEOUT_REQUIRED": "שדה חובה", + "AGENTTRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "AGENTTRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "AGENTTRANSFERTIMEOUT_REQUIRED": "שדה חובה", + "TAG_REQUIRED": "שדה חובה", + "WAITFORTHEASSIGNEDAGENT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "WAITFORTHEASSIGNEDAGENT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "WAITFORTHEASSIGNEDAGENT_REQUIRED": "שדה חובה", + "AGENT_TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "NAME_MUST_VALID_PATTERN": "תבנית שגויה", + "COMMAND_REQUIRED": "שדה חובה", + "AUTHID_REQUIRED": "שדה חובה", + "TEXT_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "TEXT_REQUIRED": "שדה חובה", + "VALUE_REQUIRED": "שדה חובה", + "SENDERSTRING_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "SENDERSTRING_MUST_VALID_PATTERN": "תבנית שגויה", + "METHOD_REQUIRED": "שדה חובה", + "MOTIONPROXY_REQUIRED": "שדה חובה", + "MOTIONPROXY_MUST_VALID_URL": "תבנית שגויה", + "KEY_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "KEY_REQUIRED": "שדה חובה", + "NAME_REQUIRED": "שדה חובה", + "AGENT_TIMEOUT_REQUIRED": "שדה חובה", + "PHONE_REQUIRED": "שדה חובה", + "SID_REQUIRED": "שדה חובה", + "TOKEN_REQUIRED": "שדה חובה", + "USERNAME_REQUIRED": "שדה חובה", + "PASSWORD_REQUIRED": "שדה חובה", + "MOTIONADDRESS_REQUIRED": "שדה חובה", + "MOTIONADDRESS_MUST_VALID_URL": "תבנית שגויה", + "ACCEPTURL_MUST_VALID_URL": "תבנית שגויה", + "TIMEOUT_REQUIRED": "שדה חובה", + "REJECTURL_MUST_VALID_URL": "תבנית שגויה", + "CLOSEURL_MUST_VALID_URL": "תבנית שגויה", + "TYPE_REQUIRED": "שדה חובה", + "LIST_REQUIRED": "שדה חובה", + "PRIORITY_REQUIRED": "שדה חובה", + "CONDITION_REQUIRED": "שדה חובה", + "TRUEPRIORITY_REQUIRED": "שדה חובה", + "FALSEPRIORITY_REQUIRED": "שדה חובה", + "AGENT_REQUIRED": "שדה חובה", + "QUEUE_REQUIRED": "שדה חובה", + "DISPOSITION_REQUIRED": "שדה חובה", + "ACCOUNTSID_REQUIRED": "שדה חובה", + "AUTHTOKEN_REQUIRED": "שדה חובה" + }, + "AGENT_TIMEOUT": "סוף זמן קצוב לנציג", + "DESCRIPTION": "תיאור", + "ADD_SMSQUEUE": "הוסף תור SMS", + "EDIT_SMSQUEUE": "ערוך תור SMS", + "DELETE_SMSQUEUE": "מחק תור SMS", + "SETTINGS": "הגדרות", + "GENERAL": "כללי", + "CREATED_AT": "נוצר ב-", + "SAVE": "שמור", + "SMSACCOUNTS": "חשבונות SMS", + "TYPE": "סוג", + "PHONE": "טלפון", + "SID": "SID", + "TOKEN": "אסימון", + "SMSTYPE": "סוג SMS", + "USERNAME": "שם משתמש", + "PASSWORD": "סיסמה", + "MOTIONADDRESS": "כתובת Motion", + "ADD_SMSACCOUNT": "הוסף חשבון SMS", + "EDIT_SMSACCOUNT": "ערוך חשבון SMS", + "DELETE_SMSACCOUNT": "מחק חשבון SMS", + "LIST": "רשימה", + "FIDELITY": "מהימנות", + "API": "ממשק API", + "DISPOSITIONS": "פריסות", + "WEBHOOKS": "רכיבי WebHook", + "ACTIONS": "פעולות", + "ACCEPT": "קבל", + "ACCEPTMETHOD": "שיטת קבלה", + "ACCEPTURL": "קבל כתובת URL", + "REJECT": "דחה", + "REJECTMETHOD": "שיטת דחייה", + "REJECTURL": "דחה כתובת URL", + "CLOSE": "סגור", + "CLOSEMETHOD": "שיטת סגירה", + "CLOSEURL": "סגור כתובת URL", + "SELECTED": "נבחר/ו", + "SELECT_ALL": "בחר הכול", + "SELECT_NONE": "אל תבחר אף פריט", + "BACK": "חזרה", + "SMS": "SMS", + "ID": "מזהה", + "CONFIRM_PASSWORD": "אשר סיסמה", + "SMSDISPOSITIONS": "פריסות SMS", + "NO_SMSDISPOSITION_AVAILABLE": "אין פריסות SMS זמינות", + "NEW_SMSDISPOSITION": "פריסת SMS חדשה", + "ADD_SMSDISPOSITION": "הוסף פריסת SMS", + "EDIT_SMSDISPOSITION": "ערוך פריסת SMS", + "DELETE_SMSDISPOSITION": "מחק פריסת SMS", + "NEW_SMSQUEUE": "תור SMS חדש", + "NEW_SMSACCOUNT": "חשבון SMS חדש", + "NO_AVAILABLE_INFO": "אין פרטים זמינים", + "ALL_TEAMS": "כל הצוותים", + "SELECTED_TEAMS": "צוותים נבחרים", + "HELP": { + "MOTIONPROXY": "התבנית הבאה היא חובה בשדה זה: ://[:]. לדוגמה: https://X.Y.Z.W", + "NAME": "מותר לכלול רק ספרות, אותיות ותווים ספציפיים (._)", + "LIST": "רשימת 'מנהל אנשי הקשר' המשמשת לשיוך אנשי קשר", + "RECEIVEURL": "מחרוזת ה-API המופקת באופן אוטומטי שדרושה לך כדי לקבל מספק ה-SMS את ההודעות שבחשבונך (חובה להשתמש בשיטת POST): לחץ על לחצן הלוח כדי להעתיק אותה", + "DELIVERYREPORTURL": "מחרוזת ה-API המופקת באופן אוטומטי שדרושה לך כדי לקבל מספק ה-SMS את דוח המסירה על הודעות שנשלחו (חובה להשתמש בשיטת POST): לחץ על לחצן הלוח כדי להעתיק אותה" + }, + "PAGE": "דף", + "ROWSPERPAGE": "שורות בדף", + "OF": "מתוך", + "TEAMADD_SMSQUEUE": "הוסף צוות לתור SMS", + "AGENTADD_SMSQUEUE": "הוסף נציג לתור SMS", + "ALL_AGENTS": "כל הנציגים", + "SELECTED_AGENTS": "נציגים נבחרים", + "RECEIVEURL": "קבל כתובת URL", + "INTERACTION": "אינטראקציה", + "INTERACTIONS": "אינטראקציות", + "NO_INTERACTION_AVAILABLE": "אין אינטראקציות זמינות", + "CONTACT": "איש קשר", + "STARTEDAT": "החל ב-", + "AGENT": "נציג", + "CLOSEDAT": "נסגר ב-", + "DISPOSITION": "פריסה", + "NOTES": "פתקים ורשימות", + "GOTO": "Goto", + "GOTOIF": "GotoIf", + "NOOP": "Noop", + "QUEUE": "תור", + "TIMEOUT": "זמן קצוב", + "VALUE": "ערך", + "EDIT_AGENT": "ערוך נציג", + "EDIT_GOTO": "ערוך פריט Goto", + "EDIT_NOOP": "ערוך פריט Noop", + "EDIT_GOTOIF": "ערוך פריט GotoIf", + "EDIT_QUEUE": "ערוך תור", + "CONDITION": "תנאי", + "TRUEPRIORITY": "עדיפות TRUE", + "FALSEPRIORITY": "עדיפות FALSE", + "PRIORITY": "עדיפות", + "GOTOP": "Gotop", + "EDIT_GOTOP": "ערוך פריט Gotop", + "EDIT_CLOSE": "ערוך סגירה", + "FILTER": "מסנן", + "SELECT_STATUS": "בחר סטטוס", + "ALL": "הכול", + "SELECT_ACCOUNT": "בחר חשבון", + "OPENED": "פתח", + "CLOSED": "סגור", + "STATUS": "סטטוס", + "ACCOUNT": "חשבון", + "OPEN": "פתח", + "INFO": "מידע", + "ACCOUNTSID": "SID חשבון", + "AUTHTOKEN": "אסימון אימות", + "UNKNOWN": "לא מזוהה", + "UNREGISTERED": "לא רשום", + "UNAVAILABLE": "לא זמין", + "NOT_INUSE": "לא בשימוש", + "REACHABLE": "נגיש", + "IN_USE": "בשימוש", + "AGENTS": "נציגים", + "QUEUES": "תורים", + "FULLNAME": "שם מלא", + "INTERNAL": "פנימי", + "PHONE_STATE": "מצב הטלפון", + "PHONE_STATUS": "סטטוס הטלפון", + "PAUSE": "השהה", + "LOGOUT": "יציאה", + "AGENTADD_QUEUE": "הוסף נציג לתור SMS", + "UNPAUSE": "סיים השהיה", + "DEFAULT_PAUSE": "השהיית ברירת המחדל", + "LOGGED_IN": "מחובר", + "PAUSED": "מושהה", + "READY": "מוכן", + "WAITING": "בהמתנה", + "VOICE": "קול", + "CHAT": "צ'אט", + "MAIL": "דוא\"ל", + "OPENCHANNEL": "פתח ערוץ", + "FAX": "פקס", + "AGENTSADD_QUEUE": "הוסף נציגים לתור SMS", + "INTERACTIONS_SMSACCOUNT": "עבור אל אינטראקציות", + "REFRESH_INTERACTIONS": "רענן אינטראקציות", + "DELETE_INTERACTION": "מחק אינטראקציה", + "AGENTADD_SMSACCOUNT": "הוסף נציגים לחשבון ה-SMS" + } +} \ No newline at end of file diff --git a/public/app/main/apps/staff/i18n/he.json b/public/app/main/apps/staff/i18n/he.json new file mode 100644 index 0000000..37b8433 --- /dev/null +++ b/public/app/main/apps/staff/i18n/he.json @@ -0,0 +1,282 @@ +{ + "STAFF": { + "HOTDESK": "שולחן חם", + "ENABLEVIDEORECORDING": "אפשר צילום וידיאו", + "OLD_PASSWORD": "סיסמה ישנה", + "ENABLEJAWSINTEGRATION": "אפשר אינטגרציה של Jaws", + "ALIAS": "כינוי", + "NO_PASSWORD_CHANGE": "ללא שינוי סיסמה", + "SECURITY_SUITE": "Security Suite", + "LAST_PASSWORD_RESET_AT": "איפוס סיסמה אחרון ב-", + "SIP_WEBRTC": "SIP", + "SETTINGS_WEBRTC": "הגדרות", + "WEBRTC": "WebRTC", + "DTLSCERTFILE": "אישור TLS", + "DTLSPRIVATEKEY": "מפתח פרטי של אישור TLS", + "CONTEXT": "הקשר", + "RINGINUSE": "הצלצול שבשימוש", + "USERS": "משתמשים", + "AGENTS": "נציגים", + "TOGGLE_SIDENAV": "החלף לניווט צדי", + "SEARCH_FOR_ANYONE": "חיפוש", + "BACK": "חזרה", + "MULTI_SELECT_TOGGLE": "בורר פריטים מרובים", + "SELECT_ALL": "בחר הכול", + "SELECT_NONE": "אל תבחר אף פריט", + "SELECTED": "נבחר/ו", + "DELETE_SELECTED": "מחק פריטים שנבחרו", + "EXPORT_SELECTED": "יצא פריטים שנבחרו", + "ALL_USERS": "כל המשתמשים", + "ALL_AGENTS": "כל הנציגים", + "SORT": "מיון", + "NAME": "שם", + "FULLNAME": "שם מלא", + "A_TO_Z": "(א עד ת)", + "Z_TO_A": "(ת עד א)", + "MORE": "עוד", + "DELETE_USER": "מחק משתמש", + "EDIT_USER": "ערוך משתמש", + "DELETE_AGENT": "מחק נציג", + "EDIT_AGENT": "ערוך נציג", + "DELETE": "מחק", + "SAVE": "שמור", + "ADD_USER": "הוסף משתמש", + "ADD_AGENT": "הוסף נציג", + "NO_RESULTS": "אין תוצאות", + "CLOSE_DIALOG": "סוג תיבת דו-שיח", + "NAME_REQUIRED": "שם (חובה)", + "USERNAME": "שם משתמש", + "SHOW_ALL_FIELDS": "הצג את כל השדות", + "PHONE_NUMBER": "מספר טלפון", + "EMAIL": "דוא\"ל", + "PASSWORD": "סיסמה", + "ERRORS": { + "ALLOWCODECS_REQUIRED": "שדה חובה", + "ENCRYPTION": "הצפנת SRTP (פרוטוקול Realtime מאובטח)", + "DTLSCERTFILE_REQUIRED": "שדה חובה", + "DTLSPRIVATEKEY_REQUIRED": "שדה חובה", + "FULLNAME_REQUIRED": "שדה חובה", + "USERNAME_REQUIRED": "שדה חובה", + "EMAIL_REQUIRED": "שדה חובה", + "PASSWORD_REQUIRED": "שדה חובה", + "CONFIRM_NOT_MATCH": "אין התאמה בסיסמאות", + "EMAIL_MUST_VALID": "תבנית שגויה", + "ACCOUNTNAME_REQUIRED": "שדה חובה", + "NAME_REQUIRED": "שדה חובה", + "HOST_REQUIRED": "שדה חובה", + "CHATCAPACITY_REQUIRED": "שדה חובה", + "MAILCAPACITY_REQUIRED": "שדה חובה", + "FAXCAPACITY_REQUIRED": "שדה חובה", + "SMSCAPACITY_REQUIRED": "שדה חובה", + "OPENCHANNELCAPACITY_REQUIRED": "שדה חובה", + "SIPEXPIRES_REQUIRED": "שדה חובה", + "SIPPORT_REQUIRED": "שדה חובה", + "UNCONDITIONALNUMBER_REQUIRED": "שדה חובה", + "NOREPLYNUMBER_REQUIRED": "שדה חובה", + "BUSYNUMBER_REQUIRED": "שדה חובה", + "USERNAME_MUST_VALID_PATTERN": "תבנית שגויה {{regex}}", + "REMOTECONTROLPORT_REQUIRED": "שדה חובה", + "CHATCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "MAILCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "FAXCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "OPENCHANNELCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "AUTOANSWERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "AUTOANSWERDELAY_REQUIRED": "שדה חובה", + "MONITOREXTENSION_REQUIRED": "שדה חובה", + "SECURE_PASSWORD_PATTERN": "סיסמה חייבת להכיל לפחות 8 תווים, ביניהם לכל הפחות אות קטנה אחת, אות רישית אחת, ספרה אחת ותו מיוחד אחד מתוך התווים ~!?*@#$%^&-_=+[{]}." + }, + "ACCOUNT": "חשבון", + "VOICE": "קול", + "CREATED_AT": "נוצר ב-", + "ROLE": "תפקיד", + "PERSONAL_INFO": "פרטים אישיים", + "DESCRIPTION": "תיאור", + "CHANGE_AVATAR": "שנה דמות", + "GENERAL": "כללי", + "INTERNAL": "פנימי", + "TRANSPORT": "תעבורה", + "ALLOWCODECS": "רכיבי codec מותרים", + "HELP": { + "LAST_PASSWORD_RESET_AT": "התאריך והשעה של החלפת הסיסמה האחרונה. אם מופעלת ב-Secure Suite ההגדרה 'כללי', תוקף הסיסמה יפוג כעבור 90 יום.", + "DTLSCERTFILE": "קשר אל אישור ה-TLS התקף (קובץ ‎.crt). ערך ברירת המחדל: '/etc/pki/tls/certs/motion.crt'.", + "DTLSPRIVATEKEY": "קשר אל המפתח הפרטי של האישור (קובץ ‎.key). ערך ברירת המחדל: '/etc/pki/tls/private/motion.key'.", + "ALLOWCODECS": "רכיבי codec מותרים לפי סדר העדיפות", + "TRANSPORT": "הגדר העברות ברירת מחדל לפי סדר העדיפות", + "HOST": "איתור כתובת IP או שם מארח של הלקוח: כדי שהטלפון ירשום את עצמו, השתמש במילת המפתח 'דינמית' במקום ב'כתובת ה-IP של המארח'", + "NAT": "משנה את ההתנהגות של Asterisk עבור לקוחות מאחורי חומת אש. אם אחת מהאפשרויות המופרדות בפסיקים היא 'לא', Asterisk יתעלם מכל ההגדרות האחרות ויחיל nat=no.", + "SIPEXPIRES": "ברירת מחדל: 160", + "SIPPORT": "ברירת מחדל: 5060", + "TYPE": "קובע את תפקיד ה-SIP בעזרת Asterisk. משתמש: לאישור שיחות נכנסות – עמית: לשיחות יוצאות – חבר: כולל מאפיינים של שיחות נכנסות וגם יוצאות.", + "CHATCAPACITY": "המספר המרבי של אינטראקציות ערוץ מקבילות לנציג (0=בלתי מוגבל)", + "MAILCAPACITY": "המספר המרבי של אינטראקציות ערוץ מקבילות לנציג (0=בלתי מוגבל)", + "FAXCAPACITY": "המספר המרבי של אינטראקציות ערוץ מקבילות לנציג (0=בלתי מוגבל)", + "SMSCAPACITY": "המספר המרבי של אינטראקציות ערוץ מקבילות לנציג (0=בלתי מוגבל)", + "OPENCHANNELCAPACITY": "המספר המרבי של אינטראקציות ערוץ מקבילות לנציג (0=בלתי מוגבל)", + "CALLGROUP": "קבוצת השיחה של הנציג", + "PICKUPGROUP": "הקבוצות שבתוכן אותו נציג יכול להשיב על שיחות", + "USERNAME": "מותר לכלול רק ספרות, אותיות ותווים ספציפיים (._)", + "ENCRYPTION": "הצפנת SRTP (פרוטוקול Realtime מאובטח)" + }, + "NEW_PASSWORD": "סיסמה חדשה", + "CONFIRM_PASSWORD": "אשר סיסמה", + "CHANGE_PASSWORD": "החלף סיסמה", + "CHANGEPASSWORD_AGENT": "החלף סיסמה", + "CHANGEPASSWORD_USER": "החלף סיסמה", + "CHANGEPASSWORD_TELEPHONE": "החלף סיסמה", + "LOGININPAUSE": "תהליך כניסה בהשהיה", + "HOST": "מארח", + "NAT": "NAT", + "CHANSPY": "ChanSpy", + "OTHER_CHANNELS": "ערוצים אחרים", + "CHATCAPACITY": "קיבולת צ'אט", + "MAILCAPACITY": "קיבולת דוא\"ל", + "FAXCAPACITY": "קיבולת פקס", + "SMSCAPACITY": "קיבולת SMS", + "OPENCHANNELCAPACITY": "קיבולת ערוצים פתוחים", + "MOTIONBAR": "Motion Bar", + "SETTINGS": "הגדרות", + "AUTOANSWER": "מענה אוטומטי", + "ENABLESETTINGS": "הפעל הגדרות", + "CALL_FORWARDING": "העברת שיחות", + "UNCONDITIONAL": "לא מותנה", + "UNCONDITIONALNUMBER": "מספר לא מותנה", + "NOREPLY": "אין תשובה", + "NOREPLYNUMBER": "מספר כאשר אין תשובה", + "BUSY": "תפוס", + "BUSYNUMBER": "מספר תפוס", + "REMOTE_CONTROL": "שלט רחוק", + "REMOTECONTROL": "שלט רחוק", + "REMOTECONTROLPORT": "יציאת שלט רחוק", + "SIP": "SIP", + "SIPEXPIRES": "תפוגת SIP (שניות)", + "SIPPORT": "יציאת SIP", + "PENALTY": "חסימה", + "ACCOUNTNAME": "שם החשבון", + "ADD_TELEPHONE": "הוסף טלפון", + "EDIT_TELEPHONE": "ערוך טלפון", + "DELETE_TELEPHONE": "מחק טלפון", + "TEAMS": "הצוותים", + "DELETE_TEAM": "מחק צוות", + "AGENTADD_TEAM": "הוסף נציגים לצוות", + "EDIT_TEAM": "ערוך צוות", + "TYPE": "סוג", + "TELEPHONES": "טלפונים", + "CALLERID": "מזהה מתקשר", + "ENABLERECORDING": "אפשר הקלטה", + "STAFF": "צוות", + "ID": "מזהה", + "NEW_USER": "משתמש חדש", + "NEW_AGENT": "נציג חדש", + "NEW_TELEPHONE": "טלפון חדש", + "NEW_TEAM": "צוות חדש", + "ADD_TEAM": "הוסף צוות", + "JOIN_QUEUE": "הצטרף לתור", + "CAPACITY": "קיבולת", + "AUTOINTERNAL": "הפק מספר פנימי באופן אוטומטי", + "ADD_AGENT_TO_TEAM": "הוסף נציג לצוות", + "TEAMADD_AGENT": "הוסף נציג לצוות", + "NO_AVAILABLE_INFO": "אין פרטים זמינים", + "PERMISSIONS": "הרשאות", + "ADD_AGENT_TO_QUEUE": "הוסף נציג לתור", + "ALL_MODULES_AVAILABLE": "כל המודולים זמינים", + "CALLGROUP": "קבוצת שיחה", + "PICKUPGROUP": "בחר קבוצה", + "QUEUEADD_AGENT_VOICE_OUTBOUND": "הוסף נציג למבצעי תורים", + "QUEUEADD_AGENT_VOICE_INBOUND": "הוסף נציג לתורי קול", + "QUEUEADD_AGENT_CHAT_INBOUND": "הוסף נציג לתורי צ'אט", + "QUEUEADD_AGENT_MAIL_INBOUND": "הוסף נציג לתורי דוא\"ל", + "QUEUEADD_AGENT_SMS_INBOUND": "הוסף נציג לתורי SMS", + "QUEUEADD_AGENT_OPENCHANNEL_INBOUND": "הוסף נציג לתורי ערוצים פתוחים", + "QUEUEADD_AGENT_FAX_INBOUND": "הוסף נציג לתורי פקס", + "QUEUEADD_USER_VOICE_INBOUND": "הוסף משתמש לתורי קול", + "QUEUEADD_USER_CHAT_INBOUND": "הוסף משתמש לתורי צ'אט", + "QUEUEADD_USER_MAIL_INBOUND": "הוסף משתמש לתורי דוא\"ל", + "QUEUEADD_USER_SMS_INBOUND": "הוסף משתמש לתורי SMS", + "QUEUEADD_USER_OPENCHANNEL_INBOUND": "הוסף משתמש לתורי ערוצים פתוחים", + "QUEUEADD_USER_FAX_INBOUND": "הוסף משתמש לתורי פקס", + "ALL_TEAMS": "כל הצוותים", + "SELECTED_TEAMS": "צוותים נבחרים", + "SELECTED_AGENTS": "נציגים נבחרים", + "ALL_QUEUES_VOICE_OUTBOUND": "כל מבצעי התורים", + "SELECTED_QUEUES_VOICE_OUTBOUND": "מבצעי תורים נבחרים", + "ALL_QUEUES_VOICE_INBOUND": "כל תורי הקול", + "SELECTED_QUEUES_VOICE_INBOUND": "תורי קול נבחרים", + "ALL_QUEUES_CHAT_INBOUND": "כל תורי הצ'אט", + "SELECTED_QUEUES_CHAT_INBOUND": "תורי צ'אט נבחרים", + "ALL_QUEUES_MAIL_INBOUND": "כל תורי הדוא\"ל", + "SELECTED_QUEUES_MAIL_INBOUND": "תורי דוא\"ל נבחרים", + "ALL_QUEUES_SMS_INBOUND": "כל תורי ה-SMS", + "SELECTED_QUEUES_SMS_INBOUND": "תורי SMS נבחרים", + "ALL_QUEUES_OPENCHANNEL_INBOUND": "כל תורי ערוצים פתוחים", + "SELECTED_QUEUES_OPENCHANNEL_INBOUND": "תורי ערוצים פתוחים נבחרים", + "ALL_QUEUES_FAX_INBOUND": "כל תורי הפקס", + "SELECTED_QUEUES_FAX_INBOUND": "תורי פקס נבחרים", + "VOICEMAIL": "הודעה קולית", + "SHOWWEBCONTROL": "טיפולוגיה", + "PAGE": "דף", + "ROWSPERPAGE": "שורות בדף", + "OF": "מתוך", + "CALLFORWARDING": "העברת שיחות", + "DND": "נא לא להפריע במהלך השהיה", + "UNANSWEREDCALLBADGE": "הצג תגית שיחה שלא נענתה", + "ENABLEDTMFTONE": "הפעל צלילי DTMF", + "AUTOANSWERDELAY": "השהיית מענה אוטומטי [ש]", + "ENCRYPTION": "הצפנה", + "CHANNELS": "ערוצים", + "CHAT": "צ'אט", + "SMS": "SMS", + "OPENCHANNEL": "פתח ערוץ", + "FAX": "פקס", + "QUEUEADD_USER_VOICE_OUTBOUND": "הוסף משתמש למבצעי תורים", + "MONITOREXTENSION": "תעד שיחות אל שלוחת המשתמש", + "EDITPERMISSIONS": "עריכת הרשאות", + "READANDEDIT": "קרא, ערוך", + "READANDEDITANDDELETE": "קרא, ערוך, מחק", + "GENERAL_PERMISSIONS": "כללי", + "ENABLEMESSENGER": "הפעל Internal Messenger", + "OUTBOUNDPROXY": "פרוקסי יוצא", + "PHONE": "טלפון", + "MOBILE": "נייד", + "PREFIXREQUIRED": "חובה לציין קידומת", + "MANAGE_PERMISSIONS": "נהל הרשאות", + "USERADD_VOICEQUEUES": "הוסף תור קול למשתמש", + "ALL_VOICEQUEUES": "כל תורי הקול", + "SELECTED_VOICEQUEUES": "תורי קול נבחרים", + "USERADD_CHATQUEUES": "הוסף תור צ'אט למשתמש", + "ALL_CHATQUEUES": "כל תורי הצ'אט", + "SELECTED_CHATQUEUES": "תורי דוא\"ל נבחרים", + "USERADD_MAILQUEUES": "הוסף תור דוא\"ל למשתמש", + "ALL_MAILQUEUES": "כל תורי הדוא\"ל", + "SELECTED_MAILQUEUES": "תורי צ'אט נבחרים", + "USERADD_SMSQUEUES": "הוסף תור SMS למשתמש", + "ALL_SMSQUEUES": "כל תורי ה-SMS", + "SELECTED_SMSQUEUES": "תורי SMS נבחרים", + "USERADD_FAXQUEUES": "הוסף תור פקס למשתמש", + "ALL_FAXQUEUES": "כל תורי הפקס", + "SELECTED_FAXQUEUES": "תורי פקס נבחרים", + "USERADD_OPENCHANNELQUEUES": "הוסף תור ערוצים פתוחים למשתמש", + "ALL_OPENCHANNELQUEUES": "כל תורי ערוצים פתוחים", + "SELECTED_OPENCHANNELQUEUES": "תורי ערוצים פתוחים נבחרים", + "USERADD_PROJECTS": "הוסף פרויקט Cally Square למשתמש", + "ALL_PROJECTS": "כל הפרויקטים של Cally Square", + "SELECTED_PROJECTS": "פרויקטים נבחרים של Cally Square", + "USERADD_CHATWEBSITES": "הוסף אתר צ'אט למשתמש", + "ALL_CHATWEBSITES": "כל אתרי הצ'אט", + "SELECTED_CHATWEBSITES": "אתרי צ'אט נבחרים", + "USERADD_QUEUECAMPAIGNS": "הוסף מבצע תורים למשתמש", + "ALL_QUEUECAMPAIGNS": "כל מבצעי התורים", + "SELECTED_QUEUECAMPAIGNS": "מבצעי תורים נבחרים", + "USERADD_MAILACCOUNTS": "הוסף חשבון דוא\"ל למשתמש", + "ALL_MAILACCOUNTS": "כל חשבונות הדוא\"ל", + "SELECTED_MAILACCOUNTS": "חשבונות דוא\"ל נבחרים", + "USERADD_FAXACCOUNTS": "הוסף חשבון פקס למשתמש", + "ALL_FAXACCOUNTS": "כל חשבונות הפקס", + "SELECTED_FAXACCOUNTS": "חשבונות פקס נבחרים", + "USERADD_SMSACCOUNTS": "הוסף חשבון SMS למשתמש", + "ALL_SMSACCOUNTS": "כל חשבונות ה-SMS", + "SELECTED_SMSACCOUNTS": "חשבונות SMS נבחרים", + "USERADD_OPENCHANNELACCOUNTS": "הוסף חשבון ערוצים פתוחים למשתמש", + "ALL_OPENCHANNELACCOUNTS": "כל חשבונות ערוצים פתוחים", + "SELECTED_OPENCHANNELACCOUNTS": "חשבונות ערוצים פתוחים נבחרים" + } +} \ No newline at end of file diff --git a/public/app/main/apps/staff/i18n/ja.json b/public/app/main/apps/staff/i18n/ja.json index ec6de35..cccabbc 100644 --- a/public/app/main/apps/staff/i18n/ja.json +++ b/public/app/main/apps/staff/i18n/ja.json @@ -97,7 +97,7 @@ "CHANGE_AVATAR": "アバターを変更", "CHANGE_PASSWORD": "パスワードを変更", "CHANNELS": "チャンネル", - "CHANSPY": "ChanSpy", + "CHANSPY": "モニタリング", "CHAT": "チャット", "CHATCAPACITY": "チャットのキャパシティ", "CLOSE_DIALOG": "ダイアログを閉じる", diff --git a/public/app/main/apps/tools/i18n/ar.json b/public/app/main/apps/tools/i18n/ar.json index 620f95f..cf32357 100644 --- a/public/app/main/apps/tools/i18n/ar.json +++ b/public/app/main/apps/tools/i18n/ar.json @@ -431,6 +431,7 @@ "BODY": "الجسم", "CANNEDANSWERS": "الإجابات المعلبة", "REPORTFOLDER": "مجلد التقرير", - "REPORTSUBFOLDER": "تقرير المجلد الفرعي" + "REPORTSUBFOLDER": "تقرير المجلد الفرعي", + "PREVIOUSCONTACT": "سابق" } } \ No newline at end of file diff --git a/public/app/main/apps/tools/i18n/da.json b/public/app/main/apps/tools/i18n/da.json index 3563b16..a5b5cd3 100644 --- a/public/app/main/apps/tools/i18n/da.json +++ b/public/app/main/apps/tools/i18n/da.json @@ -431,6 +431,7 @@ "BODY": "Legeme", "CANNEDANSWERS": "Konserves svar", "REPORTFOLDER": "Rapportmappe", - "REPORTSUBFOLDER": "Rapport undermappe" + "REPORTSUBFOLDER": "Rapport undermappe", + "PREVIOUSCONTACT": "Tidligere" } } \ No newline at end of file diff --git a/public/app/main/apps/tools/i18n/de.json b/public/app/main/apps/tools/i18n/de.json index dc349e3..55ea8a2 100644 --- a/public/app/main/apps/tools/i18n/de.json +++ b/public/app/main/apps/tools/i18n/de.json @@ -431,6 +431,7 @@ "BODY": "Karosserie", "CANNEDANSWERS": "Antworten in Dosen", "REPORTFOLDER": "Berichtsordner", - "REPORTSUBFOLDER": "Unterordner melden" + "REPORTSUBFOLDER": "Unterordner melden", + "PREVIOUSCONTACT": "Bisherige" } } \ No newline at end of file diff --git a/public/app/main/apps/tools/i18n/en.json b/public/app/main/apps/tools/i18n/en.json index 9d51bb0..4536821 100644 --- a/public/app/main/apps/tools/i18n/en.json +++ b/public/app/main/apps/tools/i18n/en.json @@ -1,5 +1,6 @@ { "TOOLS": { + "PREVIOUSCONTACT": "Previous", "BOT": "Voicebot", "CLONE_TRUNK": "Clone Trunk", "DISPOSITIONS": "Dispositions", diff --git a/public/app/main/apps/tools/i18n/es.json b/public/app/main/apps/tools/i18n/es.json index cea01b9..b010824 100644 --- a/public/app/main/apps/tools/i18n/es.json +++ b/public/app/main/apps/tools/i18n/es.json @@ -431,6 +431,7 @@ "BODY": "Cuerpo", "CANNEDANSWERS": "Respuestas enlatadas", "REPORTFOLDER": "Carpeta de informes", - "REPORTSUBFOLDER": "Subcarpeta de informes" + "REPORTSUBFOLDER": "Subcarpeta de informes", + "PREVIOUSCONTACT": "Anterior" } } \ No newline at end of file diff --git a/public/app/main/apps/tools/i18n/fa.json b/public/app/main/apps/tools/i18n/fa.json index 9b3c522..f05d342 100644 --- a/public/app/main/apps/tools/i18n/fa.json +++ b/public/app/main/apps/tools/i18n/fa.json @@ -431,6 +431,7 @@ "BODY": "بدن", "CANNEDANSWERS": "پاسخهای تهیه شده", "REPORTFOLDER": "پوشه گزارش", - "REPORTSUBFOLDER": "گزارش زیر پوشه" + "REPORTSUBFOLDER": "گزارش زیر پوشه", + "PREVIOUSCONTACT": "قبلی" } } \ No newline at end of file diff --git a/public/app/main/apps/tools/i18n/fi.json b/public/app/main/apps/tools/i18n/fi.json index 6c86ef4..215cb0b 100644 --- a/public/app/main/apps/tools/i18n/fi.json +++ b/public/app/main/apps/tools/i18n/fi.json @@ -431,6 +431,7 @@ "BODY": "ruumis", "CANNEDANSWERS": "Säilytetyt vastaukset", "REPORTFOLDER": "Ilmoita kansio", - "REPORTSUBFOLDER": "Ilmoita alikansio" + "REPORTSUBFOLDER": "Ilmoita alikansio", + "PREVIOUSCONTACT": "Edellinen" } } \ No newline at end of file diff --git a/public/app/main/apps/tools/i18n/fr.json b/public/app/main/apps/tools/i18n/fr.json index d3d60d9..5e2205a 100644 --- a/public/app/main/apps/tools/i18n/fr.json +++ b/public/app/main/apps/tools/i18n/fr.json @@ -431,6 +431,7 @@ "BODY": "Corps", "CANNEDANSWERS": "Réponses en conserve", "REPORTFOLDER": "Dossier de rapport", - "REPORTSUBFOLDER": "Sous-dossier de rapport" + "REPORTSUBFOLDER": "Sous-dossier de rapport", + "PREVIOUSCONTACT": "précédent" } } \ No newline at end of file diff --git a/public/app/main/apps/tools/i18n/he.json b/public/app/main/apps/tools/i18n/he.json new file mode 100644 index 0000000..3c51022 --- /dev/null +++ b/public/app/main/apps/tools/i18n/he.json @@ -0,0 +1,437 @@ +{ + "TOOLS": { + "BOT": "בוט קולי", + "CLONE_TRUNK": "שבט קו ראשי", + "DISPOSITIONS": "פריסות", + "NEW_DISPOSITION": "פריסה חדשה", + "ADD_DISPOSITION": "הוסף פריסה", + "EDIT_DISPOSITION": "ערוך פריסה", + "DELETE_DISPOSITION": "מחק פריסה", + "RUN_SCHEDULE": "הרץ לוח זמנים", + "SENDIFEMPTY": "שלח אם ריק", + "NEXTCONTACT": "הבא", + "OUTBOUND_ROUTE": "נתיב יוצא", + "EDIT_DASHBOARDITEM": "ערוך יישומון לוח מחוונים", + "FONTSIZE": "גודל גופן", + "CLONE_CUSTOMDASHBOARD": "שבט לוח מחוונים מותאם", + "LINK": "קישור [‎https://]", + "BACKGROUND": "רקע", + "FOREGROUND": "קדמה", + "NONE": "ללא", + "TOTAL": "סה\"כ", + "ABANDONED": "ננטש", + "WAITING": "בהמתנה", + "TALKING": "משוחח", + "ANSWERED": "נענה", + "UNMANAGED": "לא מנוהלות", + "CUSTOMTYPE": "מותאם [נתיב]", + "WEBREPORT": "דוח אינטרנט", + "PIECHART": "תרשים עוגה", + "MULTIBARCHART": "תרשים עמודות", + "MOVE_WIDGET": "העבר יישומון", + "USERADD_CUSTOMDASHBOARD": "הוסף הרשאות משתמש", + "GOTODASHBOARD_CUSTOMDASHBOARD": "עבור לתצוגה מקדימה של לוח המחוונים", + "GOTO_CUSTOMDASHBOARD": "עבור לתצוגה מקדימה של לוח המחוונים", + "METRIC": "מדד", + "FILTERVOICEQUEUES": "סנן תורי קול", + "SERIE1": "סדרה 1", + "SERIE2": "סדרה 2", + "SERIE3": "סדרה 3", + "REFRESH": "רענון", + "FORMAT": "תבנית", + "PATH": "נתיב אבסולוטי", + "ALL_USERS": "כל המשתמשים", + "SELECTED_USERS": "משתמשים נבחרים", + "ADD_WIDGET": "הוסף יישומון", + "COLOR": "צבע", + "FAX": "פקס", + "INTERACTION": "אינטראקציה", + "MESSAGE": "הודעה", + "T38PT_UDPTL": "T38pt Udptl", + "CALL": "שיחה", + "NAME": "שם", + "TRUNKS": "קווים ראשיים", + "SEARCH_FOR_ANYONE": "חיפוש", + "ERRORS": { + "NAME_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "TITLE_MAX_LENGTH": "האורך המרבי המותר של הערך הוא {{max}}", + "REFRESH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "REFRESH_REQUIRED": "שדה חובה", + "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "FONTSIZE_REQUIRED": "שדה חובה", + "PATH_REQUIRED": "שדה חובה", + "FORMAT_REQUIRED": "שדה חובה", + "REPORT_REQUIRED": "שדה חובה", + "TYPE_REQUIRED": "שדה חובה", + "VALUE_REQUIRED": "שדה חובה", + "ACCOUNT_REQUIRED": "שדה חובה", + "FIELD_REQUIRED": "שדה חובה", + "NAME_REQUIRED": "שדה חובה", + "HOST_REQUIRED": "שדה חובה", + "DEFAULTUSER_REQUIRED": "שדה חובה", + "CALLERID_REQUIRED": "שדה חובה", + "KEY_REQUIRED": "שדה חובה", + "CONFIRM_NOT_MATCH": "אין התאמה בסיסמאות", + "VALIDITYSTART_REQUIRED": "שדה חובה", + "VALIDITYEND_REQUIRED": "שדה חובה", + "MONTHDAY_REQUIRED": "שדה חובה", + "HOUR_REQUIRED": "שדה חובה", + "CONTENT_REQUIRED": "שדה חובה", + "URL_REQUIRED": "שדה חובה", + "URL_MUST_VALID_URL": "תבנית שגויה", + "APPLICATION_REQUIRED": "שדה חובה", + "ARGUMENTS_REQUIRED": "שדה חובה", + "NAME_MUST_VALID_PATTERN": "תבנית שגויה", + "POLLING_INTERVAL_REQUIRED": "שדה חובה", + "TITLE_REQUIRED": "שדה חובה", + "EMAILADDRESS_REQUIRED": "שדה חובה", + "EVENTVARIABLES_REQUIRED": "שדה חובה", + "INTEGRATION_REQUIRED": "שדה חובה", + "LIST_REQUIRED": "שדה חובה", + "TEMPLATE_REQUIRED": "שדה חובה", + "AUTOCREATECONTACT_REQUIRED": "שדה חובה", + "OUTBOUNDROUTE_REQUIRED": "שדה חובה", + "QUEUE_REQUIRED": "שדה חובה", + "TIME_RANGE_TO_REQUIRED": "שדה חובה", + "WEEK_DAYS_TO_REQUIRED": "שדה חובה", + "MONTH_DAYS_TO_REQUIRED": "שדה חובה", + "MONTH_TO_REQUIRED": "שדה חובה", + "TIME_RANGE_FROM_INVALID": "תבנית שגויה", + "TIME_RANGE_TO_INVALID": "תבנית שגויה", + "ACTION_REQUIRED": "שדה חובה", + "CONFIGURATION_REQUIRED": "שדה חובה", + "PROJECT_REQUIRED": "שדה חובה", + "LOCATION_REQUIRED": "שדה חובה", + "OUTPUT_REQUIRED": "שדה חובה", + "REPORTFOLDER_REQUIRED": "שדה חובה", + "REPORTSUBFOLDER_REQUIRED": "שדה חובה", + "REPORTTYPE_REQUIRED": "שדה חובה" + }, + "HOST": "מארח", + "SECRET": "סוד", + "DEFAULTUSER": "משתמש ברירת המחדל", + "DESCRIPTION": "תיאור", + "ADD_TRUNK": "הוסף קו ראשי", + "HELP": { + "T38PT_UDPTL": "Es: yes,redundancy,maxdatagram=400", + "SECRET": "סיסמת אימות", + "HOST": "שם דומיין או מארח", + "DEFAULTUSER": "שם משתמש לאימות", + "CALLERID": "מזהה המתקשר בתבנית \"name\" ", + "REGISTRY": "המחרוזת ברישום (אם נדרשת על ידי הספק), לרוב defaultuser:secret@host", + "FROMDOMAIN": "הגדר ערך ברירת מחדל של From:domain בהודעות SIP כאשר פועל כ-SIP ua (לקוח). ביעדים מסוימים עשוי להידרש שם מזהה חובה במקום כתובת IP בלבד.", + "FROMUSER": "האופן שבו ספק השירות מזהה אותך. אלה הם פרטי המשתמש שיוזנו במקום מזהה מתקשר בעת ביצוע שיחה לעמית (פרוקסי SIP אחר). תקף רק עבור type=peer.", + "OUTBOUNDPROXY": "IP_address או שם DNS SRV (להוציא קידומת ‎_sip._udp): שם שרת, שם מארח או כתובת ה-IP של שן פרוקסי SIP היוצא. שלח איתות יוצא אל אותו פרוקסי, לא ישירות למכשירים. תקף רק עבור type=peer.", + "PORT": "מספר יציאת ה-SIP", + "CONTEXT": "ההקשר של הקו הראשי", + "TYPE": "קבע את תפקיד ה-SIP בעזרת Asterisk. משתמש: לאישור שיחות נכנסות – עמית: לשיחות יוצאות – חבר: כולל מאפיינים של שיחות נכנסות וגם יוצאות.", + "DTMFMODE": "אופן השליחה של DTMF‏. RFC2833: מצב ברירת המחדל, צלילי DTMF נשלחים עם RTP אבל מחוץ לזרם האודיו. INBAND: צלילי ה-DTMF נשלחים בתוך זרם האודיו של השיחה הנוכחית והופכים לנשמעים דרך הרמקולים. יוצר מעמס גבוה על ה-CPU‏. INFO: שיטה אמינה מאד אך לא נתמכת בכל התקני ה-PBX ובקווי SIP ראשיים רבים.", + "NAT": "שנה את ההתנהגות של Asterisk עבור לקוחות מאחורי חומת אש. אם אחת מהאפשרויות המופרדות בפסיקים היא 'לא', Asterisk יתעלם מכל ההגדרות האחרות ויחיל nat=no.", + "QUALIFY": "בירור מתי ניתן להשיג SIP", + "ALLOWCODECS": "רכיבי codec מותרים לפי סדר העדיפות", + "INSECURE": "ציין כיצד יטופלו חיבורים עם עמית באופן המאפשר הגדרות לא בטוחות", + "CALL_LIMIT": "המספר המרבי של שיחות נכנסות ויוצאות שיכולות להתנהל במקביל", + "DIRECTMEDIA": "כברירת מחדל, Asterisk מנסה לנתב את זרם המדיה של RTP ישירות מהמתקשר אל הנמען. לא כל המכשירים תומכים בכך (בייחוד אם אחד מהם נמצא מאחורי NAT). הגדרת ברירת המחדל היא 'כן'. אם אצלך כל הלקוחות נמצאים מאחורי NAT או אם מסיבה אחרת אתה מעוניין ש-Asterisk יישאר בתוך נתיב האודיו, ייתכן שעדיף להשבית אפשרות זאת.", + "CALLCOUNTER": "אפשר מוני שיחות במכשירים", + "ADD_PHONE_TO_URI": "קבע אם יידרש לספק ';user=phone' בכתובת ה-URL", + "TRUST_REMOTE_PARTY_ID": "קבע אם יש לתת אמון במזהה הצד המרוחק (Remote-Party-ID)", + "SEND_REMOTE_PARTY_ID_HEADER": "קבע אם לשלוח את מזהה הצד המרוחק (Remote-Party-ID) (ברירת המחדל היא 'לא')", + "ENCRYPTION": "קבע אם להציע מדיה בהצפנת SRTP (באופן בלעדי) בשיחות יוצאות לעמית. שיחות עם HANGUPCAUSE=58 ייכשלו אם העמית לא תומך ב-SRTP. ערך ברירת המחדל הוא 'לא'", + "TRANSPORT": "הגדר העברות ברירת מחדל לפי סדר העדיפות", + "OTHERFIELDS": "שדות נוספים להוספה בקובצי התצורה של הקווים הראשיים. יש להקפיד על תבנית ברירת המחדל של Asterisk (מפתח=ערך) ולהציב כל שדה בשורה נפרדת", + "EMAILADDRESS": "הוסף כתובת אחת או מספר כתובות מופרדות בפסיקים (לדוגמה, john.doe@xcally.com, jane.miller@xcally.com)", + "EMAILCCADDRESS": "הוסף כתובת אחת או מספר כתובות מופרדות בפסיקים (לדוגמה, john.doe@xcally.com, jane.miller@xcally.com)", + "EMAILBCCADDRESS": "הוסף כתובת אחת או מספר כתובות מופרדות בפסיקים (לדוגמה, john.doe@xcally.com, jane.miller@xcally.com)", + "NAME": "מותר לכלול רק ספרות, אותיות ותווים ספציפיים (._)", + "EVENTVARIABLES": "אם תכונה זו מופעלת היא מוסיפה את כל משתני האירוע לכתובת ה-URL (ערך מומלץ 'לא'. הצב ערך 'כן' רק למטרות הערכה) ", + "BODY": "שדה ריק יאוכלס בערך ברירת המחדל" + }, + "EDIT_TRUNK": "ערוך קו ראשי", + "DELETE_TRUNK": "מחק קו ראשי", + "CREATED_AT": "נוצר ב-", + "SETTINGS": "הגדרות", + "ADVANCED": "מתקדם", + "OTHER": "אחר", + "ACTIVE": "פעיל", + "CONTEXT": "הקשר", + "CALLERID": "מזהה מתקשר", + "TYPE": "סוג", + "DTMFMODE": "מצב DTMF", + "NAT": "NAT", + "QUALIFY": "אשר", + "ALLOWCODECS": "רכיבי codec מותרים", + "INSECURE": "לא מאובטח", + "REGISTRY": "רישום", + "DIRECTMEDIA": "מדיה ישירה", + "CALLCOUNTER": "מונה שיחות", + "FROMDOMAIN": "מדומיין", + "FROMUSER": "ממשתמש", + "OUTBOUNDPROXY": "פרוקסי יוצא", + "ADD_PHONE_TO_URI": "הוסף טלפון לכתובת URL", + "TRUST_REMOTE_PARTY_ID": "תן אמון במזהה צד מרוחק", + "SEND_REMOTE_PARTY_ID_HEADER": "שלח כותרת ראשית של מזהה צד מרוחק", + "ENCRYPTION": "הצפנה", + "PORT": "יציאה", + "TRANSPORT": "העברה", + "SAVE": "שמור", + "VARIABLES": "משתנים", + "ADD_VARIABLE": "הוסף משתנה", + "EDIT_VARIABLE": "ערוך משתנה", + "DELETE_VARIABLE": "מחק משתנה", + "SELECTED": "נבחר/ו", + "SELECT_ALL": "בחר הכול", + "SELECT_NONE": "אל תבחר אף פריט", + "TAGS": "תגים", + "ADD_TAG": "הוסף תג", + "EDIT_TAG": "ערוך תג", + "DELETE_TAG": "מחק תג", + "PAUSES": "השהיות", + "ADD_PAUSE": "הוסף השהיה", + "EDIT_PAUSE": "ערוך השהיה", + "DELETE_PAUSE": "מחק השהיה", + "CANNEDANSWERS": "תשובות מוכנות", + "ADD_CANNEDANSWER": "הוסף תשובה מוכנה", + "EDIT_CANNEDANSWER": "ערוך תשובה מוכנה", + "DELETE_CANNEDANSWER": "מחק תשובה מוכנה", + "KEY": "מפתח", + "VALUE": "ערך", + "SOUNDS": "צלילים", + "EDIT_SOUND": "ערוך צליל", + "DELETE_SOUND": "מחק צליל", + "CANCEL": "ביטול", + "FINISH": "סיום", + "DROP_TO_UPLOAD": "שחרר כדי להעלות", + "UPLOADING": "העלאה", + "TRIGGERS": "טריגרים", + "EDIT_TRIGGER": "ערוך טריגר", + "DELETE_TRIGGER": "מחק טריגר", + "ADD_TRIGGER": "הוסף טריגר", + "DELETE": "מחק", + "AUTOMATIONS": "אוטומציות", + "EDIT_AUTOMATION": "ערוך אוטומציה", + "DELETE_AUTOMATION": "מחק אוטומציה", + "ADD_AUTOMATION": "הוסף אוטומציה", + "INTERVALS": "מרווחי זמן", + "EDIT_INTERVAL": "ערוך מרווח זמן", + "DELETE_INTERVAL": "מחק מרווח זמן", + "ADD_INTERVAL": "הוסף מרווח זמן", + "TOOLS": "כלים", + "ID": "מזהה", + "AUDIO": "אודיו", + "DOWNLOAD_SOUND": "הורד צליל", + "UPLOAD_SOUND": "כלים", + "CHANNEL": "ערוץ", + "NEW_TRIGGER": "טריגר חדש", + "GENERAL": "כללי", + "STATUS": "סטטוס", + "CONDITIONS&ACTIONS": "תנאים ופעולות", + "ALLCONDITIONS": "קיים את כל התנאים הבאים:", + "ANYCONDITIONS": "קיים לפחות אחד מהתנאים הבאים:", + "ACTIONS": "פעולות", + "NEW_AUTOMATION": "אוטומציה חדשה", + "TIMEOUT": "זמן קצוב", + "PEERSTATUS": "סטטוס עמית", + "CALL_LIMIT": "מגבלת שיחות", + "OTHERFIELDS": "שדות אחרים", + "NEW_VARIABLE": "משתנה חדש", + "NEW_TAG": "תג חדש", + "NEW_PAUSE": "השהיה חדשה", + "NEW_CANNEDANSWER": "תשובה מוכנה חדשה", + "CONFIRM_PASSWORD": "אשר סיסמה", + "NEW_TRUNK": "קו ראשי חדש", + "FROM": "מאת", + "TO": "אל", + "WEEKDAY": "יום בשבוע", + "MONTHDAY": "יום בחודש", + "MONTH": "חודש", + "ALWAYS": "תמיד", + "MON": "יום ב'", + "TUE": "יום ג'", + "WED": "יום ד'", + "THU": "יום ה'", + "FRI": "יום ו'", + "SAT": "שבת", + "SUN": "יום א'", + "JAN": "ינואר", + "FEB": "פברואר", + "MAR": "מרץ", + "APR": "אפריל", + "MAY": "מאי", + "JUN": "יוני", + "JUL": "יולי", + "AUG": "אוגוסט", + "SEP": "ספטמבר", + "OCT": "אוקטובר", + "NOV": "נובמבר", + "DEC": "דצמבר", + "PASSWORD": "סיסמה", + "CUSTOMDASHBOARDS": "לוחות מחוונים מותאמים אישית", + "NEW_CUSTOMDASHBOARD": "לוח מחוונים מותאם חדש", + "ADD_CUSTOMDASHBOARD": "הוסף לוח מחוונים מותאם אישית", + "EDIT_CUSTOMDASHBOARD": "ערוך לוח מחוונים מותאם אישית", + "DELETE_CUSTOMDASHBOARD": "מחק לוח מחוונים מותאם אישית", + "SCHEDULER": "מתזמן", + "NEW_SCHEDULE": "שיבוץ חדש", + "ADD_SCHEDULE": "הוסף שיבוץ", + "EDIT_SCHEDULE": "ערוך שיבוץ", + "DELETE_SCHEDULE": "מחק שיבוץ", + "SENDMAIL": "שלח הודעת דוא\"ל", + "CONFIGURATION": "תצורה", + "MAIL": "דוא\"ל", + "REPORTTYPE": "סוג דוח", + "REPORT": "דוח", + "OUTPUT": "פלט", + "EXECUTEON": "ביצוע:", + "REPORTRANGE": "טווח הדוח", + "VALIDITYSTART": "שעת התחלה", + "VALIDITYEND": "שעת סיום", + "EXECUTEEVERY": "בצע בכל", + "ACCOUNT": "חשבון", + "EMAILADDRESS": "כתובת דוא\"ל", + "EMAILCCADDRESS": "עותק", + "EMAILBCCADDRESS": "עותק עיוור", + "CURRENTDAY": "היום הנוכחי", + "DAILY": "יומי", + "WEEKLY": "שבועי", + "MONTHLY": "חודשי", + "PREVIOUS_DAY": "אתמול", + "LAST_SEVEN_DAYS": "שבעת הימים האחרונים", + "LAST_THIRTY_DAYS": "שלושים הימים האחרונים", + "LAST_MONTH": "החודש שעבר", + "WEEKDAYS": "ימות השבוע", + "HOUR": "שעה", + "DEFAULT": "ברירת מחדל", + "CSV": "CSV", + "PDF": "PDF", + "15MIN": "15 דקות", + "30MIN": "30 דקות", + "1H": "1 שעה", + "VOICE": "קול", + "CHAT": "צ'אט", + "SMS": "SMS", + "OPENCHANNEL": "פתח ערוץ", + "TEMPLATES": "תבניות", + "EDIT_TEMPLATE": "ערוך תבנית", + "DELETE_TEMPLATE": "מחק תבנית", + "NEW_TEMPLATE": "תבנית חדשה", + "ADD_TEMPLATE": "הוסף תבנית", + "CONTENT": "תוכן", + "FIELD": "שדה", + "NO_ANYCONDITION_AVAILABLE": "אין תנאים זמינים", + "NO_ALLCONDITION_AVAILABLE": "אין תנאים זמינים", + "NO_ACTION_AVAILABLE": "אין פעולות זמינות", + "ACTION": "פעולה", + "EDIT_ANYCONDITION": "ערוך תנאי", + "DELETE_ANYCONDITION": "מחק תנאי", + "NEW_ANYCONDITION": "תנאי חדש", + "ADD_ANYCONDITION": "הוסף תנאי", + "EDIT_ALLCONDITION": "ערוך תנאי", + "DELETE_ALLCONDITION": "מחק תנאי", + "NEW_ALLCONDITION": "תנאי חדש", + "ADD_ALLCONDITION": "הוסף תנאי", + "EDIT_ACTION": "ערוך פעולה", + "DELETE_ACTION": "מחק פעולה", + "NEW_ACTION": "פעולה חדשה", + "ADD_ACTION": "הוסף פעולה", + "QUEUE": "תור", + "CALL_STATUS": "סטטוס שיחה", + "OUTBOUNDROUTE": "נתיב יוצא", + "EQUALS": "שווה", + "NOT_EQUALS": "לא שווה", + "CONTACT_MANAGER": "מנהל אנשי הקשר", + "INTEGRATIONS": "אינטגרציות", + "MOTION_BAR": "Motion Bar", + "JSCRIPTY": "Jscripty", + "URL_FORWARD": "העבר כתובת URL", + "WEB_POPUP": "חלון אינטרנט קופץ", + "LIST": "רשימה", + "INTEGRATION": "אינטגרציה", + "TEMPLATE": "תבנית", + "URL": "כתובת URL", + "APPLICATION": "יישום", + "ARGUMENTS": "ארגומנטים", + "NO_APPS_AVAILABLE": "אין יישומים זמינים", + "NEW_INTERVAL": "מרווח זמן חדש", + "OPERATOR": "אופרטור", + "NO_INTERVALS_AVAILABLE": "אין מרווחי זמן זמינים", + "YES": "כן", + "NO": "לא", + "SUBJECT": "נושא", + "NO_AVAILABLE_INFO": "אין פרטים זמינים", + "BROWSER": "דפדפן", + "INTERVAL": "מרווח זמן", + "INFO": "מידע", + "TIME_RANGE": "טווח זמן", + "WEEK_DAYS": "ימות השבוע", + "MONTH_DAYS": "ימים בחודש", + "MONTHS": "חודשים", + "DROP_TO_UPLOAD_MESSAGE": "שחרר קובצי אודיו כאן כדי להעלות אתם. רק MP3‏, WAV‏, GSM ‏– מקס' 15MB", + "POLLING_INTERVAL": "מרווח תשאול (שניות)", + "DASHBOARD": "לוח מחוונים", + "NEW_DASHBOARDITEM": "יישומון לוח מחוונים חדש", + "COUNTER": "מונה", + "IFRAME": "IFrame", + "CLOCK": "שעון", + "ADD_DASHBOARDITEM": "הוסף יישומון לוח מחוונים", + "EDIT_WIDGET": "ערוך יישומון", + "DELETE_WIDGET": "מחק יישומון", + "FLIP_WIDGET": "הפוך יישומון", + "TITLE": "כותרת", + "UPDATE": "עדכן", + "LAYOUT": "פריסה", + "BACKGROUND_COLOR": "צבע רקע", + "FOREGROUND_COLOR": "צבע קדמה", + "FOREGROUND_TITLE_COLOR": "צבע כותרת בקדמה", + "THEME": "ערכת נושא", + "LIGHT": "בהיר", + "DARK": "כהה", + "TIMEZONE": "אזור זמן", + "DIGITAL_FORMAT": "תבנית תאריך דיגיטלי", + "TOOLS_QUERY": "שאילתה", + "SELECT": "בחר", + "WHERE": "היכן", + "BACK": "חזרה", + "PROJECT": "פרויקט", + "GOTOREALTIME_TRUNK": "עבור לקו ראשי של Realtime", + "GOTO_TRUNK": "עבור לקו ראשי", + "CRON": "Cron", + "MINUTES": "דקות", + "HOURLY": "מדי שעה", + "YEARLY": "מדי שנה", + "EVERY": "אחת ל-", + "MINUTE": "דקה", + "ON_SECOND": "לפי שנייה", + "HOUR_ON_MINUTE": "בדיוק בשעה", + "AND_SECOND": "ושנייה", + "DAY_AT": "יום ב-", + "START_TIME": "שעת התחלה", + "ON_THE": "ב-", + "OF_EVERY": "בכל", + "MONTH_AT": "חודש ב-", + "AT": "ב-", + "LAST": "אחרון", + "LASTUNIT": "יחידה", + "MAILACCOUNT": "חשבון דוא\"ל", + "OF": "מתוך", + "PAST_THE_HOUR": "לאחר השעה", + "DAY": "יום-", + "WEEK": "שבוע", + "YEAR": "שנה", + "ON": "ב-", + "PAI": "P-Asserted-Identity", + "PAGE": "דף", + "ROWSPERPAGE": "שורות בדף", + "EVENTVARIABLES": "משתני אירוע", + "AUTOCREATECONTACT": "צור איש קשר באופן אוטומטי", + "LOCATION": "מיקום", + "NEW_TAB": "כרטיסייה חדשה", + "NEW_WINDOW": "חלון חדש", + "WINDOWWIDTH": "רוחב חלון (פיקסלים)", + "WINDOWHEIGHT": "גובה חלון (פיקסלים)", + "BODY": "גוף", + "REPORTFOLDER": "דווח על תיקייה", + "REPORTSUBFOLDER": "דווח על תיקיית משנה", + "PREVIOUSCONTACT": "קודם" + } +} \ No newline at end of file diff --git a/public/app/main/apps/tools/i18n/hi.json b/public/app/main/apps/tools/i18n/hi.json index 3853c4c..76a8e48 100644 --- a/public/app/main/apps/tools/i18n/hi.json +++ b/public/app/main/apps/tools/i18n/hi.json @@ -431,6 +431,7 @@ "BODY": "तन", "CANNEDANSWERS": "डिब्बाबंद जवाब", "REPORTFOLDER": "रिपोर्ट फ़ोल्डर", - "REPORTSUBFOLDER": "रिपोर्ट सबफ़ोल्डर" + "REPORTSUBFOLDER": "रिपोर्ट सबफ़ोल्डर", + "PREVIOUSCONTACT": "पिछला" } } \ No newline at end of file diff --git a/public/app/main/apps/tools/i18n/id.json b/public/app/main/apps/tools/i18n/id.json index cabf7d4..09e0f44 100644 --- a/public/app/main/apps/tools/i18n/id.json +++ b/public/app/main/apps/tools/i18n/id.json @@ -431,6 +431,7 @@ "BODY": "Tubuh", "CANNEDANSWERS": "Jawaban Kalengan", "REPORTFOLDER": "Folder Laporan", - "REPORTSUBFOLDER": "Laporkan Subfolder" + "REPORTSUBFOLDER": "Laporkan Subfolder", + "PREVIOUSCONTACT": "Sebelumnya" } } \ No newline at end of file diff --git a/public/app/main/apps/tools/i18n/it.json b/public/app/main/apps/tools/i18n/it.json index 67baaea..e78468a 100644 --- a/public/app/main/apps/tools/i18n/it.json +++ b/public/app/main/apps/tools/i18n/it.json @@ -1,5 +1,6 @@ { "TOOLS": { + "PREVIOUSCONTACT": "Precedente", "BOT": "Voicebot", "CLONE_TRUNK": "Clona Trunk", "DISPOSITIONS": "Disposizioni", diff --git a/public/app/main/apps/tools/i18n/ja.json b/public/app/main/apps/tools/i18n/ja.json index 4b85042..6617cfa 100644 --- a/public/app/main/apps/tools/i18n/ja.json +++ b/public/app/main/apps/tools/i18n/ja.json @@ -106,7 +106,7 @@ "ADD_CANNEDANSWER": "定型文を追加", "ADD_CUSTOMDASHBOARD": "カスタムダッシュボードを追加", "ADD_DASHBOARDITEM": "ダッシュボードウィジェットを追加", - "ADD_INTERVAL": "間隔を追加", + "ADD_INTERVAL": "営業時間を追加", "ADD_PAUSE": "一時停止を追加", "ADD_PHONE_TO_URI": "URLに電話を追加", "ADD_SCHEDULE": "スケジュールを追加", @@ -174,7 +174,7 @@ "DELETE_AUTOMATION": "オートメーションを削除", "DELETE_CANNEDANSWER": "定型文を削除", "DELETE_CUSTOMDASHBOARD": "カスタムダッシュボードを削除", - "DELETE_INTERVAL": "間隔を削除", + "DELETE_INTERVAL": "営業時間を削除", "DELETE_PAUSE": "一時停止を削除", "DELETE_SCHEDULE": "スケジュールを削除", "DELETE_SOUND": "サウンドを削除", @@ -198,7 +198,7 @@ "EDIT_CANNEDANSWER": "定型文を編集", "EDIT_CUSTOMDASHBOARD": "カスタムダッシュボードを編集", "EDIT_DASHBOARDITEM": "ダッシュボードウィジェットを編集", - "EDIT_INTERVAL": "間隔を編集", + "EDIT_INTERVAL": "営業時間を編集", "EDIT_PAUSE": "一時停止を編集", "EDIT_SCHEDULE": "スケジュールを編集", "EDIT_SOUND": "サウンドを編集", @@ -246,10 +246,10 @@ "INTEGRATION": "インテグレーション", "INTEGRATIONS": "インテグレーション", "INTERACTION": "インタラクション", - "INTERVAL": "間隔", - "INTERVALS": "間隔", + "INTERVAL": "営業時間", + "INTERVALS": "営業時間", "JAN": "1月", - "JSCRIPTY": "Jscripty", + "JSCRIPTY": "モニタリング", "JUL": "7月", "JUN": "6月", "KEY": "キー", @@ -290,8 +290,8 @@ "NEW_CANNEDANSWER": "新規定型文", "NEW_CUSTOMDASHBOARD": "新しいカスタムダッシュボード", "NEW_DASHBOARDITEM": "新しいダッシュボードウィジェット", - "NEW_INTERVAL": "新規間隔", - "NEW_PAUSE": "新規一時停止", + "NEW_INTERVAL": "新規の営業時間", + "NEW_PAUSE": "新規の一時停止", "NEW_SCHEDULE": "新規スケジュール", "NEW_TAB": "新しいタブ", "NEW_TAG": "新しいタグ", @@ -310,7 +310,7 @@ "NO_ANYCONDITION_AVAILABLE": "条件なし", "NO_APPS_AVAILABLE": "利用可能なアプリケーションがありません", "NO_AVAILABLE_INFO": "利用可能な情報がありません", - "NO_INTERVALS_AVAILABLE": "利用可能な間隔はありません", + "NO_INTERVALS_AVAILABLE": "利用可能な営業時間はありません", "OCT": "10月", "OF": "の", "OF_EVERY": "すべての", @@ -431,6 +431,7 @@ "BODY": "体", "CANNEDANSWERS": "回答の缶詰", "REPORTFOLDER": "レポートフォルダ", - "REPORTSUBFOLDER": "レポートサブフォルダ" + "REPORTSUBFOLDER": "レポートサブフォルダ", + "PREVIOUSCONTACT": "前" } } \ No newline at end of file diff --git a/public/app/main/apps/tools/i18n/ko.json b/public/app/main/apps/tools/i18n/ko.json index 7a492f4..f3c8e14 100644 --- a/public/app/main/apps/tools/i18n/ko.json +++ b/public/app/main/apps/tools/i18n/ko.json @@ -431,6 +431,7 @@ "BODY": "신체", "CANNEDANSWERS": "통역 응답", "REPORTFOLDER": "보고서 폴더", - "REPORTSUBFOLDER": "보고서 하위 폴더" + "REPORTSUBFOLDER": "보고서 하위 폴더", + "PREVIOUSCONTACT": "너무 이른" } } \ No newline at end of file diff --git a/public/app/main/apps/tools/i18n/lv.json b/public/app/main/apps/tools/i18n/lv.json index ee8513c..4aa3fd9 100644 --- a/public/app/main/apps/tools/i18n/lv.json +++ b/public/app/main/apps/tools/i18n/lv.json @@ -431,6 +431,7 @@ "BODY": "Ķermenis", "CANNEDANSWERS": "Konservētas atbildes", "REPORTFOLDER": "Ziņojuma mape", - "REPORTSUBFOLDER": "Ziņot par apakšmapi" + "REPORTSUBFOLDER": "Ziņot par apakšmapi", + "PREVIOUSCONTACT": "Iepriekšējais" } } \ No newline at end of file diff --git a/public/app/main/apps/tools/i18n/nl.json b/public/app/main/apps/tools/i18n/nl.json index fcd19db..35e5dbb 100644 --- a/public/app/main/apps/tools/i18n/nl.json +++ b/public/app/main/apps/tools/i18n/nl.json @@ -431,6 +431,7 @@ "BODY": "Lichaam", "CANNEDANSWERS": "Ingeblikte antwoorden", "REPORTFOLDER": "Rapportmap", - "REPORTSUBFOLDER": "Submap melden" + "REPORTSUBFOLDER": "Submap melden", + "PREVIOUSCONTACT": "voorgaand" } } \ No newline at end of file diff --git a/public/app/main/apps/tools/i18n/no.json b/public/app/main/apps/tools/i18n/no.json index 7c93b6b..41154c9 100644 --- a/public/app/main/apps/tools/i18n/no.json +++ b/public/app/main/apps/tools/i18n/no.json @@ -431,6 +431,7 @@ "BODY": "Kropp", "CANNEDANSWERS": "Hermetiserte svar", "REPORTFOLDER": "Rapportmappe", - "REPORTSUBFOLDER": "Rapporter undermappe" + "REPORTSUBFOLDER": "Rapporter undermappe", + "PREVIOUSCONTACT": "Tidligere" } } \ No newline at end of file diff --git a/public/app/main/apps/tools/i18n/pl.json b/public/app/main/apps/tools/i18n/pl.json index 080411b..e706402 100644 --- a/public/app/main/apps/tools/i18n/pl.json +++ b/public/app/main/apps/tools/i18n/pl.json @@ -431,6 +431,7 @@ "BODY": "Ciało", "CANNEDANSWERS": "Konserwy odpowiedzi", "REPORTFOLDER": "Folder raportów", - "REPORTSUBFOLDER": "Podfolder raportu" + "REPORTSUBFOLDER": "Podfolder raportu", + "PREVIOUSCONTACT": "Poprzedni" } } \ No newline at end of file diff --git a/public/app/main/apps/tools/i18n/pt-PT.json b/public/app/main/apps/tools/i18n/pt-PT.json index 8a1c02a..370eff7 100644 --- a/public/app/main/apps/tools/i18n/pt-PT.json +++ b/public/app/main/apps/tools/i18n/pt-PT.json @@ -431,6 +431,7 @@ "BODY": "Corpo", "CANNEDANSWERS": "Respostas enlatadas", "REPORTFOLDER": "Pasta de relatórios", - "REPORTSUBFOLDER": "Subpasta de relatório" + "REPORTSUBFOLDER": "Subpasta de relatório", + "PREVIOUSCONTACT": "Anterior" } } \ No newline at end of file diff --git a/public/app/main/apps/tools/i18n/ru.json b/public/app/main/apps/tools/i18n/ru.json index 65a7f3b..2672531 100644 --- a/public/app/main/apps/tools/i18n/ru.json +++ b/public/app/main/apps/tools/i18n/ru.json @@ -431,6 +431,7 @@ "BODY": "тело", "CANNEDANSWERS": "Консервированные ответы", "REPORTFOLDER": "Папка отчета", - "REPORTSUBFOLDER": "Подпапка отчета" + "REPORTSUBFOLDER": "Подпапка отчета", + "PREVIOUSCONTACT": "предыдущий" } } \ No newline at end of file diff --git a/public/app/main/apps/tools/i18n/sv.json b/public/app/main/apps/tools/i18n/sv.json index 8d07b1b..c4146df 100644 --- a/public/app/main/apps/tools/i18n/sv.json +++ b/public/app/main/apps/tools/i18n/sv.json @@ -431,6 +431,7 @@ "BODY": "Kropp", "CANNEDANSWERS": "Konserverade svar", "REPORTFOLDER": "Rapportmapp", - "REPORTSUBFOLDER": "Rapportera undermapp" + "REPORTSUBFOLDER": "Rapportera undermapp", + "PREVIOUSCONTACT": "Tidigare" } } \ No newline at end of file diff --git a/public/app/main/apps/tools/i18n/tr.json b/public/app/main/apps/tools/i18n/tr.json index 8b0c2b2..5f78561 100644 --- a/public/app/main/apps/tools/i18n/tr.json +++ b/public/app/main/apps/tools/i18n/tr.json @@ -431,6 +431,7 @@ "BODY": "Vücut", "CANNEDANSWERS": "Hazır Cevaplar", "REPORTFOLDER": "Rapor klasörü", - "REPORTSUBFOLDER": "Alt Klasörü Rapor Et" + "REPORTSUBFOLDER": "Alt Klasörü Rapor Et", + "PREVIOUSCONTACT": "Önceki" } } \ No newline at end of file diff --git a/public/app/main/apps/tools/i18n/zh-CN.json b/public/app/main/apps/tools/i18n/zh-CN.json index d8759f6..925c89e 100644 --- a/public/app/main/apps/tools/i18n/zh-CN.json +++ b/public/app/main/apps/tools/i18n/zh-CN.json @@ -431,6 +431,7 @@ "BODY": "身体", "CANNEDANSWERS": "罐头答案", "REPORTFOLDER": "报告文件夹", - "REPORTSUBFOLDER": "报告子文件夹" + "REPORTSUBFOLDER": "报告子文件夹", + "PREVIOUSCONTACT": "以前" } } \ No newline at end of file diff --git a/public/app/main/apps/tools/i18n/zh-TW.json b/public/app/main/apps/tools/i18n/zh-TW.json index 0938fd6..cade43a 100644 --- a/public/app/main/apps/tools/i18n/zh-TW.json +++ b/public/app/main/apps/tools/i18n/zh-TW.json @@ -431,6 +431,7 @@ "BODY": "身體", "CANNEDANSWERS": "罐頭答案", "REPORTFOLDER": "報告文件夾", - "REPORTSUBFOLDER": "報告子文件夾" + "REPORTSUBFOLDER": "報告子文件夾", + "PREVIOUSCONTACT": "以前" } } \ No newline at end of file diff --git a/public/app/main/apps/voice/i18n/he.json b/public/app/main/apps/voice/i18n/he.json new file mode 100644 index 0000000..50ebec6 --- /dev/null +++ b/public/app/main/apps/voice/i18n/he.json @@ -0,0 +1,438 @@ +{ + "VOICE": { + "LOGIN_TIME": "שעת כניסה", + "PAUSE_TIME": "שעת השהיה", + "ABANDONEDCALLS": "שיחות בתור שננטשו", + "WAITING_FOR_AGENTS": "בהמתנה לנציגים", + "ACTIVE": "פעיל", + "NO_AGENT_ONLINE": "אין נציג מקוון", + "PARTIALPAUSE": "השהיה חלקית", + "STATUS": "סטטוס", + "TIMER": "טיימר", + "ALL": "הכול", + "IDLE": "במצב סרק", + "EDIT_TRUNK": "ערוך קו ראשי", + "GOTO_VOICEQUEUE": "עבור אל תורי קול של Realtime", + "GOTOREALTIME_VOICEQUEUE": "עבור אל תורי קול של Realtime", + "NAME": "שם", + "LOGOUT": "יציאה", + "VOICEQUEUES": "תורי קול", + "SEARCH_FOR_ANYONE": "חיפוש", + "BACK": "חזרה", + "SELECTED": "נבחר/ו", + "SELECT_ALL": "בחר הכול", + "SELECT_NONE": "אל תבחר אף פריט", + "DELETE_VOICEDISPOSITION": "מחק פריסת קול", + "EDIT_VOICEDISPOSITION": "ערוך פריסת קול", + "EDIT_VOICEQUEUE": "ערוך תור קול", + "DELETE_VOICEQUEUE": "מחק תור קול", + "MOHSOUNDS": "צלילי MOH", + "STRATEGY": "אסטרטגיה", + "DESCRIPTION": "תיאור", + "ADD_VOICEQUEUE": "הוסף תור קול", + "CREATED_AT": "נוצר ב-", + "CANT_PLAY_GSM_AUDIO_FILES": "לא ניתן להשמיע קובצי אודיו מסוג GSM או WAV49", + "APPLICATIONS_LIST": "רשימת היישומים", + "LEGEND": { + "CUSTOM_APPLICATION": "(*) – יישום מותאם אישית." + }, + "ERRORS": { + "TRUNK_REQUIRED": "שדה חובה", + "VARIABLE_REQUIRED": "שדה חובה", + "NAME_REQUIRED": "שדה חובה", + "APPLICATION_NAME_REQUIRED": "שדה חובה", + "TIMEOUT_REQUIRED": "שדה חובה", + "PHONENUMBER_REQUIRED": "שדה חובה", + "CONTEXT_REQUIRED": "שדה חובה", + "DESTINATIONPATTERN_REQUIRED": "שדה חובה", + "FULLNAME_REQUIRED": "שדה חובה", + "EMAIL_REQUIRED": "שדה חובה", + "EMAIL_MUST_VALID": "תבנית שגויה", + "MAILBOX_REQUIRED": "שדה חובה", + "PASSWORD_REQUIRED": "שדה חובה", + "CONFIRM_NOT_MATCH": "אין התאמה בסיסמאות", + "TIMEZONE_REQUIRED": "שדה חובה", + "PREFIX_REQUIRED": "שדה חובה", + "OPTIONS_REQUIRED": "שדה חובה", + "AFTERCALLWORKDURATION_REQUIRED": "שדה חובה", + "TECHNOLOGY/RESOURCE_REQUIRED": "שדה חובה", + "PHONE_REQUIRED": "שדה חובה", + "VALUE_REQUIRED": "שדה חובה", + "EXTENSION_REQUIRED": "שדה חובה", + "PRIORITY_REQUIRED": "שדה חובה", + "APPLICATION_REQUIRED": "שדה חובה", + "OUTBOUNDROUTE_REQUIRED": "שדה חובה", + "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "AFTERCALLWORKDURATION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "MEMBERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "POSITION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "CUTDIGITS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "MAXSECONDS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "הערך חייב להיות גדול או שווה ל-", + "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "הערך חייב להיות קטן או שווה ל-", + "NAME_MUST_VALID_PATTERN": "תבנית שגויה", + "CALLERIDALL_MUST_VALID_PATTERN": "תבנית שגויה", + "CALLER_ID_MUST_VALID_PATTERN": "תבנית שגויה" + }, + "GENERAL": "כללי", + "TIMEOUT": "זמן קצוב", + "MAXLENGTH": "אורך מרבי", + "RETRY": "נסה שוב", + "WRAPUPTIME": "משך סיכום", + "WEIGHT": "משקל", + "JOINWHENEMPTY": "הצטרף כאשר ריק", + "LEAVEWHENEMPTY": "צא כאשר ריק", + "HELP": { + "TIMEOUT": "משך הצלצול במכשיר בשניות", + "MAXLENGTH": "המספר המרבי של מתקשרים שיכולים לחכות בתור: 0 = בלתי מוגבל", + "RETRY": "משך ההמתנה (בשניות) עד חיוג לנציג הבא בתור בסיום הזמן הקצוב", + "WRAPUPTIME": "כמה זמן (בשניות) להשאיר את הנציג בלתי זמין בתור לאחר השלמת שיחה", + "WEIGHT": "השקלול של תור בהגדרת העדיפות כאשר נציגים משויכים למספר תורים", + "JOINWHENEMPTY": "קובע אם המשתמש יועבר לתור כאשר אין אף נציג זמין", + "LEAVEWHENEMPTY": "קובע אם מתקשרים יוסרו מהתור כאשר אין אף נציג זמין לקבלת שיחות", + "ANNOUNCEFREQUENCY": "באיזו תדירות להכריז על מיקומו של המתקשר בתור ו/או את משך ההמתנה הצפוי (0=השבת)", + "MINANNOUNCEFREQUENCY": "תדירות הכרזה מינימלית (שימושי כאשר מיקומו של המתקשר בתור משתנה במהירות)", + "PERIODICANNOUNCEFREQUENCY": "תדירות ההכרזות המחזוריות שהמתקשר שומע", + "ANNOUNCEPOSITIONLIMIT": "משמש אם הערך בהגדרת המיקום להכרזה הוא 'הגבל' או 'יותר'", + "AFTERCALLWORKDURATION": "אורך ההשהיה מופעל על ידי האפשרות 'עבודה לאחר שיחה'", + "MEMBERDELAY": "להוספת השהיה לפני חיבור בין המתקשר שבתור לבין הנציג", + "MUSICONHOLD": "קובע את סוג המוזיקה לתור מסוים", + "ANNOUNCETOAGENT": "להשמעת הודעה לנציג המקבל את השיחה (לדוגמה, לאיזה תור משויך המתקשר)", + "RANDOMPERIODICANNOUNCE": "אם כן, ההודעות המחזוריות המוגדרות יושמעו באופן אקראי", + "ANNOUNCEHOLDTIME": "להכרזת משך זמן ההמתנה המשוער יחד עם ההודעות הקבועות (כן/לא/פעם אחת)", + "ANNOUNCECALLERPOSITION": "משמש כדי לקבוע אם מיקום המתקשר בתור יוכרז: לא=אף פעם; כן=תמיד; הגבל=רק אם במסגרת הגבול שהוגדר תחת 'הגבל-מיקום-הכרזה; עוד=רק אם יש חריגה מהערך שהוגדר תחת הגבל-מיום-הכרזה", + "REPORTHOLDTIMEAGENT": "מאפשר לדווח על משך ההמתנה של המתקשר לנציג בתור לפני חיבור ביניהם", + "PERIODICANNOUNCE": "סדרת ההודעות המחזוריות שיושמעו (לפי סדר)", + "HOLDTIMEANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='משך המתנה'. לא מוגדר=ללא הכרזה", + "YOUARENEXTANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='מקומך הנוכחי בתור – מספר אחת'. לא מוגדר=ללא הכרזה", + "THEREAREANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='לפניך בתור'. לא מוגדר=ללא הכרזה", + "WAITINGCALLSANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='שיחות ממתינות'. לא מוגדר=ללא הכרזה", + "ESTIMATEDHOLDTIMEANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='זמן ההמתנה המשוער כרגע הוא'. לא מוגדר=ללא הכרזה", + "MINUTESANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='דקות'. לא מוגדר=ללא הכרזה", + "MINUTEANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='דקה'. לא מוגדר=ללא הכרזה", + "SECONDSANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='שניות'. לא מוגדר=ללא הכרזה", + "THANKYOUANNOUNCE": "הגדרת 'בחר צליל' נמצאת תחת 'כלים'. ברירת המחדל='תודה על הסבלנות'. לא מוגדר=ללא הכרזה", + "AFTERCALLWORK": "אם אפשרות זאת מופעלת הנציג יועבר למצב 'השהה' לאחר סיום של שיחה", + "AUTOPAUSE": "מפעיל/משבית את ההשהיה האוטומטית של נציגים שלא השיבו על שיחה. במצב מופעל, הסוכן עובר למצב השהיה בכל התורים שהוא משויך אליהם", + "RINGINUSE": "כדי למנוע/לאפשר שליחת שיחות לנציגים עם סטטוס 'בשימוש'", + "TIMEOUTRESTART": "אם כן, הזמן הקצוב לסוכן לקבל שיחה כאשר מתקבל סטטוס 'תפוס' או 'עומס' מהערוץ יתאפס", + "MONITORFORMAT": "מציין את תבנית הקובץ להקלטה. כאשר תבנית 'ניטור' לא פעילה אין הקלטת שיחות.", + "CONTEXT": "מאפשר למתקשר לצאת מהתור בלחיצה על ספרת DTMF אחת. אם צוין הקשר והמתקשר מקיש את הספרה, המערכת תנסה להתאים את הספרה להקשר שצוין וביצוע תוכנית החיוג תימשך שם", + "SETINTERFACEVARIABLES": "אם הערך בהגדרה הוא 'כן', המערכת תקבע משתנים מסוימים ממש לפני העברת השיחה לנציג (לפרטים נוספים, עיין ב-Wiki Docs)", + "SETQUEUEVARIABLES": "אם הערך בהגדרה הוא 'כן', המערכת תקבע משתנים מסוימים ממש לפני העברת השיחה לנציג ויציאתו מהתור (לפרטים נוספים, עיין ב-Wiki Docs)", + "SETQUEUEENTRYVARIABLES": "אם הערך בהגדרה הוא 'כן', המערכת תקבע משתנים מסוימים ממש לפני העברת השיחה לנציג (לפרטים נוספים, עיין ב-Wiki Docs)", + "RECORDING": "אפשר הקלטת שיחה", + "VOICEMAIL_CONTEXT": "ההקשר של השלוחה הרלוונטית", + "NAME": "מותר לכלול רק ספרות, אותיות ותווים ספציפיים (._)", + "CALLERIDALL": "התבנית הנתמכת: \"CallerId\" <number>", + "CALLER_ID": "התבנית הנתמכת: \"CallerId\" <number>" + }, + "MUSICONHOLD": "מוזיקה בהמתנה", + "ANNOUNCETOAGENT": "הודעה לנציג", + "ANNOUNCEMENTS": "הודעות", + "ADVANCED": "מתקדם", + "ANNOUNCEFREQUENCY": "תדירות הודעה", + "MINANNOUNCEFREQUENCY": "תדירות הודעה מינימלית", + "PERIODICANNOUNCEFREQUENCY": "תדירות הודעה מחזורית", + "RANDOMPERIODICANNOUNCE": "הודעה מחזורית בסדר אקראי", + "ANNOUNCEHOLDTIME": "זמן המתנה להודעה", + "ANNOUNCECALLERPOSITION": "הכרזת מיקום המתקשר בתור", + "ANNOUNCEPOSITIONLIMIT": "הכרזת מגבלת מקומות בתור", + "REPORTHOLDTIMEAGENT": "דיווח לנציג על זמן ההמתנה", + "PERIODICANNOUNCE": "הודעה מחזורית", + "HOLDTIMEANNOUNCE": "הודעת זמן המתנה", + "YOUARENEXTANNOUNCE": "הודעת 'אתה הבא בתור'", + "THEREAREANNOUNCE": "הודעת 'יש בתור'", + "WAITINGCALLSANNOUNCE": "הודעת 'שיחות ממתינות'", + "ESTIMATEDHOLDTIMEANNOUNCE": "הודעת 'זמן המתנה משוער'", + "MINUTESANNOUNCE": "הכרזת דקות", + "MINUTEANNOUNCE": "הכרזת דקה", + "SECONDSANNOUNCE": "הכרזת שניות", + "THANKYOUANNOUNCE": "הכרזת 'תודה רבה'", + "AUTOPAUSE": "השהיה אוטומטית", + "AFTERCALLWORK": "עבודה לאחר שיחה", + "AFTERCALLWORKDURATION": "משך עבודה לאחר שיחה", + "RINGINUSE": "הצלצול שבשימוש", + "MEMBERDELAY": "השהיית הנציג", + "TIMEOUTRESTART": "זמן קצוב להפעלה מחדש", + "MONITORFORMAT": "תבנית הקלטה", + "SETINTERFACEVARIABLES": "קבע משתני ממשק", + "SETQUEUEVARIABLES": "קבע משתני תור", + "SETQUEUEENTRYVARIABLES": "קבע משתני כניסה לתור", + "VARIABLE": "משתנה", + "CONTEXT": "הקשר", + "SAVE": "שמור", + "SETTINGS": "הגדרות", + "INBOUNDROUTES": "נתיבים נכנסים", + "PHONENUMBER": "מספר טלפון", + "ADD_INBOUNDROUTE": "הוסף נתיב נכנס", + "EDIT_INBOUNDROUTE": "ערוך נתיב נכנס", + "DELETE_INBOUNDROUTE": "מחק נתיב נכנס", + "ACTIONS": "פעולות", + "OUTBOUNDROUTES": "נתיבים יוצאים", + "DESTINATIONPATTERN": "דפוס יעד", + "ADD_OUTBOUNDROUTE": "הוסף נתיב יוצא", + "EDIT_OUTBOUNDROUTE": "ערוך נתיב יוצא", + "DELETE_OUTBOUNDROUTE": "מחק נתיב יוצא", + "CUTDIGITS": "קצץ ספרות", + "RECORDING": "הקלטה", + "RECORDINGFORMAT": "תבנית הקלטה", + "INTERNALROUTES": "נתיבים פנימיים", + "ADD_INTERNALROUTE": "הוסף נתיב פנימי", + "EDIT_INTERNALROUTE": "ערוך נתיב פנימי", + "DELETE_INTERNALROUTE": "מחק נתיב פנימי", + "CONTEXTS": "הקשרים", + "ADD_CONTEXT": "הוסף הקשר", + "EDIT_CONTEXT": "ערוך הקשר", + "DELETE_CONTEXT": "מחק הקשר", + "VOICEMAILS": "הודעות קוליות", + "ADD_VOICEMAIL": "הוסף הודעה קולית", + "EDIT_VOICEMAIL": "ערוך הודעה קולית", + "DELETE_VOICEMAIL": "מחק הודעה קולית", + "FULLNAME": "שם מלא", + "EMAIL": "דוא\"ל", + "MAILBOX": "תיבת דואר", + "PASSWORD": "סיסמה", + "CONFIRM_PASSWORD": "אשר סיסמה", + "TIMEZONE": "אזור זמן", + "ATTACH": "צרף", + "ENVELOPE": "מעטפה", + "DELETE": "מחק", + "EMAILBODY": "גוף הודעת הדוא\"ל", + "EMAILSUBJECT": "נושא הודעת הדוא\"ל", + "MAXSECONDS": "מקס' שניות", + "MAXMESSAGES": "מקס' הודעות", + "MESSAGES": "הודעות", + "SORT": "מיון", + "ADD_MUSICONHOLD": "הוסף מוזיקה בהמתנה", + "MUSICONHOLDS": "מוזיקה בהמתנה", + "EDIT_MUSICONHOLD": "ערוך מוזיקה להמתנה", + "DELETE_MUSICONHOLD": "מחק מוזיקה להמתנה", + "DIRECTORY": "ספרייה", + "AUDIOFILES": "קובצי אודיו", + "RECORDINGS": "הקלטות", + "CHANSPY": "ChanSpy", + "PREFIX": "קידומת", + "OPTIONS": "אפשרויות", + "AUTH": "הרשאה", + "ADD_CHANSPY": "הוסף ChanSpy", + "EDIT_CHANSPY": "ערוך ChanSpy", + "DELETE_CHANSPY": "מחק ChanSpy", + "AGENTS": "נציגים", + "TELEPHONES": "טלפונים", + "QUEUES": "תורים", + "QUEUE_CALLS": "שיחות בתור", + "QUEUE_PARAMETERS": "פרמטרי תור", + "ABANDONED_CALLS": "שיחות שננטשו", + "OUTBOUND_CALLS": "שיחות יוצאות", + "AGI": "AGI", + "DIAL": "חייג", + "CALLYSQUARE": "CallySquare", + "INTERNALDIAL": "חיוג פנימי", + "EXTERNALDIAL": "חיוג חיצוני", + "RINGGROUP": "קבוצת צלצול", + "PLAYBACK": "השמעה", + "QUEUE": "תור", + "SET": "סדרה", + "VOICEMAIL": "הודעה קולית", + "GOTO": "Goto", + "HANGUP": "נתק", + "CUSTOM": "מותאם אישית", + "PROJECT": "פרויקט Cally Square", + "TECHNOLOGY/RESOURCE": "טכנולוגיה/משאב", + "URL": "כתובת URL", + "EDIT_APP": "ערוך יישום", + "EDIT_INTERVAL": "ערוך מרווח זמן", + "DELETE_APP": "מחק יישום", + "INTERVALS": "מרווחי זמן", + "USER": "משתמש", + "TRUNK": "קו ראשי", + "PHONE": "טלפון", + "AUDIO_FILES": "קובצי אודיו", + "ANNOUNCE_OVERRIDES": "עקיפת הודעות", + "MACRO": "מאקרו", + "GOSUB": "GoSub", + "RULE": "כלל", + "POSITION": "מיקום", + "ANSWER": "תשובה", + "VALUE": "ערך", + "MAILBOX@CONTEXT": "Mailbox@Context", + "EXTENSION": "שלוחה", + "PRIORITY": "עדיפות", + "HANGUP_CAUSE": "סיבת הניתוק", + "OUTBOUNDDIAL": "חיוג יוצא", + "CALLER_ID": "מזהה מתקשר", + "NO_MESSAGE_AVAILABLE": "אין הודעות זמינות", + "NO_SOUND_AVAILABLE": "אין צלילים זמינים", + "VOICERECORDINGS": "הקלטות קול", + "CHANSPIES": "ChanSpy", + "VOICE": "קול", + "REALTIME": "Realtime", + "ID": "מזהה", + "VOICEMAIL_CONTEXT": "הקשר", + "NO_MOHSOUND_AVAILABLE": "אין מוסיקה זמינה להמתנה", + "FILE": "קובץ", + "ADD_MOHSOUND": "הוסף צליל מוזיקה בהמתנה", + "DOWNLOAD_MOHSOUND": "הורד צליל מוזיקה בהמתנה", + "DELETE_MOHSOUND": "מחק צליל מוזיקה בהמתנה", + "UNIQUEID": "מזהה ייחודי", + "AGENT": "נציג", + "TYPE": "סוג", + "RATING": "דירוג", + "AUDIO": "אודיו", + "DATE": "תאריך", + "NEW_VOICEQUEUE": "תור קול חדש", + "NEW_INBOUNDROUTE": "נתיב נכנס חדש", + "NEW_OUTBOUNDROUTE": "נתיב יוצא חדש", + "NEW_INTERNALROUTE": "נתיב פנימי חדש", + "NEW_CONTEXT": "הקשר חדש", + "NEW_VOICEMAIL": "הודעה קולית חדשה", + "NEW_MUSICONHOLD": "מוזיקה בהמתנה חדשה", + "NEW_CHANSPY": "ChanSpy חדש", + "PENALTY": "חסימה", + "ADD_TEAM_TO_VOICEQUEUE": "הוסף צוות לתור קול", + "ADD_AGENT_TO_VOICEQUEUE": "הוסף נציג לתור קול", + "EDIT_DIAL": "ערוך חיוג", + "EDIT_AGI": "ערוך AGI", + "EDIT_INTERNALDIAL": "ערוך חיוג פנימי", + "EDIT_EXTERNALDIAL": "ערוך חיוג חיצוני", + "EDIT_RINGGROUP": "ערוך קבוצת צלצול", + "EDIT_PLAYBACK": "ערוך השמעה", + "EDIT_QUEUE": "ערוך תור", + "EDIT_SET": "ערוך סדרה", + "EDIT_GOTO": "ערוך פריט Goto", + "EDIT_HANGUP": "ערוך ניתוק", + "EDIT_CUSTOM": "ערוך 'מותאם אישית'", + "DURATION": "משך", + "RECEIVED_AT": "התקבל ב-", + "YES": "כן", + "NO": "לא", + "HANGUPCAUSE_1": "1 = מספר שלא הוקצה", + "HANGUPCAUSE_16": "16 = ניקוי שיחה רגילה", + "HANGUPCAUSE_17": "17 = המשתמש תפוס", + "HANGUPCAUSE_18": "18 = אין תשובה מהמשתמש (טלפון לא מחובר)", + "HANGUPCAUSE_21": "21 = שיחה נדחתה", + "HANGUPCAUSE_22": "22 = המספר השתנה", + "HANGUPCAUSE_27": "27 = יעד לא תקין", + "HANGUPCAUSE_38": "38 = בעיה ברשת", + "HANGUPCAUSE_41": "41 = תקלה זמנית", + "RANDOM": "אקראי", + "ALPHABETICAL": "אלף-בית", + "NO_APPS_AVAILABLE": "אין יישומים זמינים", + "DOWNLOAD_VOICERECORDING": "הורד הקלטת קול", + "DELETE_VOICERECORDING": "מחק הקלטת קול", + "INTERNAL": "פנימי", + "PHONE_STATE": "מצב הטלפון", + "PHONE_STATUS": "סטטוס הטלפון", + "TRUNK_STATUS": "סטטוס קו ראשי", + "REGISTERED": "רשום", + "UNREGISTERED": "לא רשום", + "LAGGED": "בפיגור", + "REACHABLE": "נגיש", + "UNREACHABLE": "לא נגיש", + "UNKNOWN": "לא מזוהה", + "NOT_INUSE": "לא בשימוש", + "INUSE": "בשימוש", + "BUSY": "תפוס", + "INVALID": "לא תקף", + "UNAVAILABLE": "לא זמין", + "RINGING": "מצלצל", + "ONHOLD": "בהמתנה", + "RING": "צלצול", + "UP": "מעלה", + "INFO": "מידע", + "TRUNKS": "קווים ראשיים", + "REGISTRY": "רישום", + "NO_REGISTRY": "אין רישום", + "LOGGED_IN": "מחובר (יש חיבור SIP)", + "PAUSED": "מושהה", + "WAITING": "בהמתנה", + "TALKING": "משוחח", + "DID": "DID", + "CALLER": "מתקשר", + "TOTAL": "סה\"כ", + "ANSWERED": "נענה", + "ABANDONED": "ננטש", + "UNMANAGED": "לא מנוהלות", + "AVG_HOLD_TIME": "ממוצע זמן המתנה", + "AVG_DURATION": "משך ממוצע", + "AVG_BILLABLE": "ממוצע חיוב", + "SOURCE": "מקור", + "DESTINATION": "יעד", + "REJECTED": "נדחה", + "FAILED": "נכשל", + "CALLED": "בוצעה שיחה", + "CONNECTED": "מחובר", + "NO_RATING": "אין דירוג", + "EDIT_VOICERECORDING": "ערוך הקלטת קול", + "APPLICATION_NAME": "שם היישום", + "ARGUMENTS": "ארגומנטים", + "NO_AVAILABLE_INFO": "אין פרטים זמינים", + "ADD_AGENT_TO_QUEUE": "הוסף נציג לתור", + "DEFAULT_PAUSE": "השהיית ברירת המחדל", + "PAUSE": "השהה", + "UNPAUSE": "סיים השהיה", + "REDIRECT_TO_NUMBER": "הפנה למספר", + "REDIRECT_TO_AGENT": "הפנה לנציג", + "AGENTADD_VOICEQUEUE": "הוסף נציג לתור קול", + "APPLICATION": "יישום", + "FILES": "קבצים", + "FORMAT": "תבנית", + "MODE": "מצב", + "RECORD": "הקלט", + "TEAMADD_VOICEQUEUE": "הוסף צוות לתור קול", + "NEW_MOHSOUND": "צליל חדש של מוזיקה בהמתנה", + "DOWNLOAD_MESSAGE": "הורד", + "DELETE_MESSAGE": "מחק", + "QUEUE_PARAMS": "פרמטרי תור", + "TOTAL_OFFERED": "סה\"כ הוצעו", + "READY": "מוכן", + "AGENTADD_QUEUE": "הוסף נציג לתור קול", + "AGENTSADD_QUEUE": "הוסף נציגים לתור קול", + "ALL_TEAMS": "כל הצוותים", + "SELECTED_TEAMS": "צוותים נבחרים", + "ALL_AGENTS": "כל הנציגים", + "SELECTED_AGENTS": "נציגים נבחרים", + "CLOSING": "סגירה", + "TAGS": "תגים", + "WAITING_FOR_AGENT": "בהמתנה לנציגים", + "EDIT_OUTBOUNDDIAL": "ערוך חיוג יוצא", + "ACCOUNTNAME": "שם החשבון", + "PAGE": "דף", + "ROWSPERPAGE": "שורות בדף", + "OF": "מתוך", + "DISPOSITION": "פריסה", + "CHAT": "צ'אט", + "MAIL": "דוא\"ל", + "SMS": "SMS", + "OPENCHANNEL": "פתח ערוץ", + "FAX": "פקס", + "CLEAR": "נקה", + "CALLS": "שיחות", + "STARTEDAT": "החל ב-", + "ENDEDAT": "הסתיים ב-", + "TAG": "תג", + "DETAILS": "פרטים", + "BILLABLESECONDS": "שניות לחיוב", + "ANSWEREDAT": "נענה ב-", + "NOTE": "פתק/הערה", + "CLOSE": "סגור", + "SELECT_DATE": "בחר תאריך התחלה", + "SELECT_TYPE": "בחר סוג", + "VOICEPREFIXES": "קידומות לשיחות יוצאות", + "NEW_VOICEPREFIX": "קידומת חדשה", + "ADD_VOICEPREFIX": "הוסף קידומת", + "EDIT_VOICEPREFIX": "ערוך קידומת", + "AGENTADD_VOICEPREFIX": "הוסף נציג לקידומת", + "DELETE_VOICEPREFIX": "מחק קידומת", + "OUTBOUNDROUTE": "נתיב יוצא", + "CALLERIDALL": "מזהה מתקשר" + } +} \ No newline at end of file diff --git a/public/app/main/apps/voice/i18n/ja.json b/public/app/main/apps/voice/i18n/ja.json index 393d84a..8d1b4d5 100644 --- a/public/app/main/apps/voice/i18n/ja.json +++ b/public/app/main/apps/voice/i18n/ja.json @@ -209,7 +209,7 @@ "EDIT_INBOUNDROUTE": "インバウンドルートの編集", "EDIT_INTERNALDIAL": "内部ダイヤルの編集", "EDIT_INTERNALROUTE": "内部ルートの編集", - "EDIT_INTERVAL": "間隔を編集", + "EDIT_INTERVAL": "営業時間を編集", "EDIT_MUSICONHOLD": "保留音の編集", "EDIT_OUTBOUNDDIAL": "アウトバウンドダイヤルの編集", "EDIT_OUTBOUNDROUTE": "アウトバウンドルートを編集する", @@ -260,7 +260,7 @@ "INTERNAL": "内部", "INTERNALDIAL": "内部ダイヤル", "INTERNALROUTES": "内部ルート", - "INTERVALS": "間隔", + "INTERVALS": "営業時間", "INUSE": "使用中", "INVALID": "無効", "JOINWHENEMPTY": "Join when Empty", diff --git a/public/app/quick-panel/i18n/he.json b/public/app/quick-panel/i18n/he.json new file mode 100644 index 0000000..1f85fc2 --- /dev/null +++ b/public/app/quick-panel/i18n/he.json @@ -0,0 +1,73 @@ +{ + "QUICKPANEL": { + "EXPIRATION_GRAY_PERIOD": "תפוגה – תקופה אפורה", + "NO_AVAILABLE_GROUPS": "אין קבוצות זמינות", + "SAVE": "שמור", + "INFO": "מידע", + "NEW_CHATGROUP": "קבוצה חדשה", + "NAME": "שם", + "MEMBERS": "נציגים", + "ENABLE_WRITING": "אפשר כתיבה", + "GROUPS": "קבוצות", + "YOU": "את/ה + {{participants}}", + "NEW_INTERNAL_MESSAGE": "הודעה פנימית חדשה", + "DELETE": "מחק", + "SEARCH": "חיפוש", + "USERS": "משתמשים", + "TODAY": "היום", + "MONDAY": "יום ב'", + "TUESDAY": "יום ג'", + "WEDNESDAY": "יום ד'", + "THURSDAY": "יום ה'", + "FRIDAY": "יום ו'", + "SATURDAY": "שבת", + "SUNDAY": "יום א'", + "JANUARY": "ינואר", + "FEBRUARY": "פברואר", + "MARCH": "מרץ", + "APRIL": "אפריל", + "MAY": "מאי", + "JUNE": "יוני", + "JULY": "יולי", + "AUGUST": "אוגוסט", + "SEPTEMBER": "ספטמבר", + "OCTOBER": "אוקטובר", + "NOVEMBER": "נובמבר", + "DECEMBER": "דצמבר", + "CHAT": "צ'אט", + "ACTIVITY": "פעילות", + "FRIENDS": "חברים", + "APP_SERVERS": "שרתי יישומים", + "USER_STATS": "נתונים סטטיסטיים אחרים", + "EVENTS": "אירועים", + "NOTES": "פתקים ורשימות", + "QUICK_SETTINGS": "הגדרות מהירות", + "NOTIFICATIONS": "הודעות", + "CLOUD_SYNC": "סנכרון עם הענן", + "RETRO_THRUSTERS": "מנועי דחיפה", + "RECENT": "אחרונים", + "START_NEW_CHAT": "התחל צ'אט חדש", + "BACK": "חזרה", + "CALL": "שיחה", + "MORE": "עוד", + "SEND_MESSAGE": "שלח הודעה", + "REPLY_PLACEHOLDER": "הקלד והקש Enter כדי לשלוח הודעה", + "CONTACT_XCALLY_MOTION_SUPPORT": "צור קשר עם התמיכה של xCALLY Motion", + "EXPIRATION_DATE": "תאריך תפוגה", + "EXPIRATION_REASON": "סיבת התפוגה", + "LICENSE": "רישיון", + "NEW_TOKEN": "אסימון חדש", + "OLD_TOKEN": "אסימון קודם", + "SEND_EMAIL_TO": "שלח הודעת דוא\"ל אל", + "TOKEN": "אסימון", + "EXPIRATION_REASON_MESSAGE": "פג תוקף הרישיון שלך או שהמזהה הייחודי של המחשב עודכן בשל שינוי במערכת. פנה אל צוות התמיכה של xCALLY Motion וציין בפנייתך את ה-UUID החדש והקודם כאחד.", + "GRAY_PERIOD_EXPIRATION": "תקופה אפורה – תפוגה", + "EXPIRATION_REASON_MESSAGE_GRAY": "פג תוקף הרישיון שלך או שהוא הושבת. פנה אל צוות התמיכה של xCALLY Motion.", + "EXPIRATION_REASON_MESSAGE_CHANGED": "המזהה הייחודי של המחשב עודכן בשל שינוי במערכת. פנה אל צוות התמיכה של xCALLY Motion וציין בפנייתך את ה-UUID החדש והקודם כאחד.", + "MESSENGER_DISABLED": "העברת הודעות פנימיות מושבתת עבור נציג זה!", + "WARNING": "אזהרה", + "ERRORS": { + "NAME_REQUIRED": "שדה חובה" + } + } +} \ No newline at end of file diff --git a/public/app/reset/i18n/he.json b/public/app/reset/i18n/he.json new file mode 100644 index 0000000..db5538d --- /dev/null +++ b/public/app/reset/i18n/he.json @@ -0,0 +1,20 @@ +{ + "RESETPASSWORD": { + "TITLE": "אפס את סיסמתך", + "EMAIL_ADRESS": "כתובת דוא\"ל", + "PASSWORD": "סיסמה", + "PASSWORD_CONFIRM": "סיסמה (אשר)", + "UPDATE_PASSWORD": "איפוס הסיסמה שלי", + "GO_BACK": "חזור לכניסה", + "PASSWORD_RESET": "איפוס סיסמה", + "PASSWORD_RESET_MESSAGE": "איפוס הסיסמה שלך בוצע בהצלחה, כעת תוכל להיכנס!", + "PASSWORD_RESET_ERROR": "שגיאה באיפוס סיסמה", + "ERRORS": { + "EMAIL_REQUIRED": "דוא\"ל הוא שדה חובה", + "EMAIL_MUST_VALID": "חובה לציין כתובת דוא\"ל חוקית", + "PASSWORD_REQUIRED": "סיסמה היא שדה חובה", + "CONFIRM_NOT_MATCH": "אין התאמה בסיסמאות", + "SECURE_PASSWORD_PATTERN": "חובה לכלול לפחות 8 תווים, ביניהם לפחות אות קטנה אחת, אות גדולה אחת, ספרה אחת ותו מיוחד אחד מתוך הבאים: ~!?*@#$%^&-_=+[{]}." + } + } +} \ No newline at end of file diff --git a/public/app/toolbar/i18n/ar.json b/public/app/toolbar/i18n/ar.json index 895777e..3ad3667 100644 --- a/public/app/toolbar/i18n/ar.json +++ b/public/app/toolbar/i18n/ar.json @@ -87,6 +87,8 @@ "ARABIC": "عربى", "CALL": "مكالمة", "PREFIXES": "البادئات", - "HEBREW": "اللغة العبرية" + "HEBREW": "اللغة العبرية", + "ESTONIAN": "الإستونية", + "CZECH": "تشيكي" } } \ No newline at end of file diff --git a/public/app/toolbar/i18n/da.json b/public/app/toolbar/i18n/da.json index dae3733..087642e 100644 --- a/public/app/toolbar/i18n/da.json +++ b/public/app/toolbar/i18n/da.json @@ -87,6 +87,8 @@ "ARABIC": "arabisk", "CALL": "Opkald", "PREFIXES": "præfikser", - "HEBREW": "Hebrew" + "HEBREW": "Hebrew", + "ESTONIAN": "estisk", + "CZECH": "tjekkisk" } } \ No newline at end of file diff --git a/public/app/toolbar/i18n/de.json b/public/app/toolbar/i18n/de.json index ab1f75e..569323f 100644 --- a/public/app/toolbar/i18n/de.json +++ b/public/app/toolbar/i18n/de.json @@ -87,6 +87,8 @@ "ARABIC": "Arabisch", "CALL": "Anruf", "PREFIXES": "Präfixe", - "HEBREW": "Hebräisch" + "HEBREW": "Hebräisch", + "ESTONIAN": "estnisch", + "CZECH": "Tschechisch" } } \ No newline at end of file diff --git a/public/app/toolbar/i18n/en.json b/public/app/toolbar/i18n/en.json index c8cc6fd..7a5217d 100644 --- a/public/app/toolbar/i18n/en.json +++ b/public/app/toolbar/i18n/en.json @@ -1,5 +1,6 @@ { "TOOLBAR": { + "HEBREW": "Hebrew", "PREFIXES": "Prefixes", "CALL": "Call", "ARABIC": "Arabic", @@ -86,7 +87,6 @@ "PASSWORD_REQUIRED": "Mandatory Field", "CONFIRM_NOT_MATCH": "The passwords don't match", "SECURE_PASSWORD_PATTERN": "The password must be at least 8 characters long and have 1 lowercase character, 1 uppercase character, 1 number and 1 special character ~!?*@#$%^&-_=+[{]}." - }, - "HEBREW": "Hebrew" + } } } \ No newline at end of file diff --git a/public/app/toolbar/i18n/es.json b/public/app/toolbar/i18n/es.json index 263523e..861ee22 100644 --- a/public/app/toolbar/i18n/es.json +++ b/public/app/toolbar/i18n/es.json @@ -87,6 +87,8 @@ "ARABIC": "Arábica", "CALL": "Llamada", "PREFIXES": "Prefijos", - "HEBREW": "hebreo" + "HEBREW": "hebreo", + "ESTONIAN": "Estonio", + "CZECH": "checo" } } \ No newline at end of file diff --git a/public/app/toolbar/i18n/fa.json b/public/app/toolbar/i18n/fa.json index 3e2a02e..e3af024 100644 --- a/public/app/toolbar/i18n/fa.json +++ b/public/app/toolbar/i18n/fa.json @@ -87,6 +87,8 @@ "ARABIC": "عربی", "CALL": "زنگ زدن", "PREFIXES": "پیشوندها", - "HEBREW": "عبری" + "HEBREW": "عبری", + "ESTONIAN": "استونیایی", + "CZECH": "کشور چک" } } \ No newline at end of file diff --git a/public/app/toolbar/i18n/fi.json b/public/app/toolbar/i18n/fi.json index 9e8c95e..4ccec26 100644 --- a/public/app/toolbar/i18n/fi.json +++ b/public/app/toolbar/i18n/fi.json @@ -87,6 +87,8 @@ "ARABIC": "arabialainen", "CALL": "Soittaa puhelimella", "PREFIXES": "etuliitteet", - "HEBREW": "heprealainen" + "HEBREW": "heprealainen", + "ESTONIAN": "Virolainen", + "CZECH": "czech" } } \ No newline at end of file diff --git a/public/app/toolbar/i18n/fr.json b/public/app/toolbar/i18n/fr.json index a7e8803..b3d74cd 100644 --- a/public/app/toolbar/i18n/fr.json +++ b/public/app/toolbar/i18n/fr.json @@ -87,6 +87,8 @@ "ARABIC": "arabe", "CALL": "Appel", "PREFIXES": "Préfixes", - "HEBREW": "hébreu" + "HEBREW": "hébreu", + "ESTONIAN": "estonien", + "CZECH": "tchèque" } } \ No newline at end of file diff --git a/public/app/toolbar/i18n/he.json b/public/app/toolbar/i18n/he.json new file mode 100644 index 0000000..c9b9967 --- /dev/null +++ b/public/app/toolbar/i18n/he.json @@ -0,0 +1,92 @@ +{ + "TOOLBAR": { + "HEBREW": "Hebrew", + "PREFIXES": "קידומות", + "CALL": "שיחה", + "ARABIC": "ערבית", + "INDONESIAN": "אינדונזית", + "RESETPASSWORD": "איפוס סיסמה", + "PASSWORD_EXPIRE_REMAINING_DAYS": "ימים שנותרו עד תפוגת הסיסמה", + "BROWSER_COMPATIBILITY": "תאימות דפדפן [Chrome‏, Opera‏, Safari]", + "RECORDING": "הקלטה", + "INVALID_LICENSE": "רישיון לא תקף", + "BROWSER": "דפדפן", + "OS": "מערכת הפעלה", + "REQUIREMENTS": "דרישות", + "LICENSE": "רישיון", + "HTTPS": "HTTPS", + "WEBRTCSUPPORT": "תמיכת WebRTC", + "REGISTERED": "רשום", + "NOT_REGISTERED": "לא רשום", + "WEBRTC_LICENSE_NOT_ENABELD": "רישיון WebRTC לא מופעל", + "ATTENDED_TRANSFER": "העברה מפוקחת", + "TRANSFER": "העבר", + "TARGET": "יעד", + "CANCEL": "ביטול", + "FILENAME": "שם הקובץ", + "STATUS": "סטטוס", + "ACTIONS": "פעולות", + "SPEAKER": "רמקול", + "RINGING": "צליל צלצול", + "MICROPHONE": "מיקרופון", + "PROFILE": "פרופיל", + "SERVICES": "שירותים", + "AUDIO": "אודיו", + "FULLNAME": "שם מלא", + "NAME": "שם", + "INTERNAL": "פנימי", + "RINGINGDEVICE": "המכשיר המצלצל", + "SPEAKERDEVICE": "המכשיר עם הרמקול", + "MICROPHONEDEVICE": "המכשיר עם המיקרופון", + "CHANGEPASSWORD": "החלף סיסמה", + "SETTINGS": "הגדרות", + "AUTOANSWER": "מענה אוטומטי", + "TOGGLE_NAVIGATION": "החלף מצב ניווט", + "TOGGLE_NAVIGATION_FOLD": "החלף תיקיית ניווט", + "TOGGLE_NAVIGATION_MODE": "החלף מצב ניווט", + "SEARCH": "חיפוש", + "USER_SETTINGS": "הגדרות משתמש", + "TOGGLE_QUICK_PANEL": "החלף לחלונית מהירה", + "SOMEONE_LOGGED_YOU_OUT": "מישהו יצא מהמערכת, האם ברצונך להישאר מחובר?", + "STAY_LOGGED": "הישאר מחובר", + "WARNING": "אזהרה", + "ENGLISH": "אנגלית", + "ITALIAN": "איטלקית", + "FRENCH": "צרפתית", + "KOREAN": "קוריאנית", + "SPANISH": "ספרדית", + "SWEDISH": "שוודית", + "RUSSIAN": "רוסית", + "GERMAN": "גרמנית", + "JAPANESE": "יפנית", + "CHINESESIMPLIFIED": "סינית פשוטה", + "CHINESETRADITIONAL": "סינית מסורתית", + "DUTCH": "הולנדית", + "FINNISH": "פינית", + "DANISH": "דנית", + "PORTUGUESE": "פורטוגזית", + "NORWEGIAN": "נורווגית", + "HINDI": "הינדי", + "TURKISH": "טורקית", + "PERSIAN": "פרסי", + "LATVIAN": "לטבית", + "POLISH": "פולנית", + "LOGIN_TIME": "שעת כניסה", + "PAUSE_TIME": "שעת השהיה", + "PREVIEW": "תצוגה מקדימה", + "CONFIRM_PASSWORD": "אשר סיסמה", + "NEW_PASSWORD": "סיסמה חדשה", + "OLD_PASSWORD": "סיסמה ישנה", + "SAVE": "שמור", + "TRIAL_VERSION": "גרסה לניסיון", + "PAUSE": "השהה", + "RESUME": "סיים השהיה", + "NO_PAUSES_AVAILABLE": "אין השהיות זמינות", + "ERRORS": { + "FIELD_REQUIRED": "שדה חובה", + "PASSWORD_REQUIRED": "שדה חובה", + "CONFIRM_NOT_MATCH": "אין התאמה בסיסמאות", + "SECURE_PASSWORD_PATTERN": "סיסמה חייבת להכיל לפחות 8 תווים, ביניהם לכל הפחות אות קטנה אחת, אות רישית אחת, ספרה אחת ותו מיוחד אחד מתוך התווים ~!?*@#$%^&-_=+[{]}." + } + } +} \ No newline at end of file diff --git a/public/app/toolbar/i18n/hi.json b/public/app/toolbar/i18n/hi.json index 26879ec..39b90cc 100644 --- a/public/app/toolbar/i18n/hi.json +++ b/public/app/toolbar/i18n/hi.json @@ -87,6 +87,8 @@ "ARABIC": "अरबी", "CALL": "कॉल", "PREFIXES": "उपसर्गों", - "HEBREW": "यहूदी" + "HEBREW": "यहूदी", + "ESTONIAN": "एस्तोनियावासी", + "CZECH": "चेक" } } \ No newline at end of file diff --git a/public/app/toolbar/i18n/id.json b/public/app/toolbar/i18n/id.json index e345f8a..3d8ac76 100644 --- a/public/app/toolbar/i18n/id.json +++ b/public/app/toolbar/i18n/id.json @@ -87,6 +87,8 @@ "ARABIC": "Arab", "CALL": "Panggilan", "PREFIXES": "Awalan", - "HEBREW": "Ibrani" + "HEBREW": "Ibrani", + "ESTONIAN": "Estonia", + "CZECH": "Ceko" } } \ No newline at end of file diff --git a/public/app/toolbar/i18n/ja.json b/public/app/toolbar/i18n/ja.json index 9aaa6ea..2ecab0e 100644 --- a/public/app/toolbar/i18n/ja.json +++ b/public/app/toolbar/i18n/ja.json @@ -86,7 +86,9 @@ "INDONESIAN": "インドネシア語", "ARABIC": "アラビア語", "CALL": "コール", - "PREFIXES": "接頭辞", - "HEBREW": "ヘブライ語" + "PREFIXES": "プリフィックス", + "HEBREW": "ヘブライ語", + "ESTONIAN": "エストニア語", + "CZECH": "チェコ語" } } \ No newline at end of file diff --git a/public/app/toolbar/i18n/ko.json b/public/app/toolbar/i18n/ko.json index 4675296..e282a52 100644 --- a/public/app/toolbar/i18n/ko.json +++ b/public/app/toolbar/i18n/ko.json @@ -87,6 +87,8 @@ "ARABIC": "아라비아 말", "CALL": "요구", "PREFIXES": "접두어", - "HEBREW": "헤브라이 사람" + "HEBREW": "헤브라이 사람", + "ESTONIAN": "에스토니아 사람", + "CZECH": "체코 사람" } } \ No newline at end of file diff --git a/public/app/toolbar/i18n/lv.json b/public/app/toolbar/i18n/lv.json index c6a6447..8557952 100644 --- a/public/app/toolbar/i18n/lv.json +++ b/public/app/toolbar/i18n/lv.json @@ -87,6 +87,8 @@ "ARABIC": "Arābu valoda", "CALL": "Zvans", "PREFIXES": "Priekšvārdi", - "HEBREW": "Ebreju valoda" + "HEBREW": "Ebreju valoda", + "ESTONIAN": "Igauņu", + "CZECH": "Čehu valodā" } } \ No newline at end of file diff --git a/public/app/toolbar/i18n/nl.json b/public/app/toolbar/i18n/nl.json index d8bdb63..481f417 100644 --- a/public/app/toolbar/i18n/nl.json +++ b/public/app/toolbar/i18n/nl.json @@ -87,6 +87,8 @@ "ARABIC": "Arabisch", "CALL": "telefoontje", "PREFIXES": "prefixes", - "HEBREW": "Hebreeuws" + "HEBREW": "Hebreeuws", + "ESTONIAN": "Estlands", + "CZECH": "Tsjechisch" } } \ No newline at end of file diff --git a/public/app/toolbar/i18n/no.json b/public/app/toolbar/i18n/no.json index 984894b..1292220 100644 --- a/public/app/toolbar/i18n/no.json +++ b/public/app/toolbar/i18n/no.json @@ -87,6 +87,8 @@ "ARABIC": "Arabisk", "CALL": "Anrop", "PREFIXES": "prefikser", - "HEBREW": "Hebrew" + "HEBREW": "Hebrew", + "ESTONIAN": "estonian", + "CZECH": "Czech" } } \ No newline at end of file diff --git a/public/app/toolbar/i18n/pl.json b/public/app/toolbar/i18n/pl.json index 63a8f30..2f93bb6 100644 --- a/public/app/toolbar/i18n/pl.json +++ b/public/app/toolbar/i18n/pl.json @@ -87,6 +87,8 @@ "ARABIC": "arabski", "CALL": "Połączenie", "PREFIXES": "Prefiksy", - "HEBREW": "hebrajski" + "HEBREW": "hebrajski", + "ESTONIAN": "estoński", + "CZECH": "Czech" } } \ No newline at end of file diff --git a/public/app/toolbar/i18n/pt-PT.json b/public/app/toolbar/i18n/pt-PT.json index 50ff4e1..bb3ab16 100644 --- a/public/app/toolbar/i18n/pt-PT.json +++ b/public/app/toolbar/i18n/pt-PT.json @@ -87,6 +87,8 @@ "ARABIC": "árabe", "CALL": "Ligar", "PREFIXES": "Prefixos", - "HEBREW": "hebraico" + "HEBREW": "hebraico", + "ESTONIAN": "estoniano", + "CZECH": "Tcheco" } } \ No newline at end of file diff --git a/public/app/toolbar/i18n/ru.json b/public/app/toolbar/i18n/ru.json index 796fb1c..a13ebfa 100644 --- a/public/app/toolbar/i18n/ru.json +++ b/public/app/toolbar/i18n/ru.json @@ -87,6 +87,8 @@ "ARABIC": "арабский", "CALL": "Вызов", "PREFIXES": "Приставки", - "HEBREW": "иврит" + "HEBREW": "иврит", + "ESTONIAN": "эстонский", + "CZECH": "чешский язык" } } \ No newline at end of file diff --git a/public/app/toolbar/i18n/sv.json b/public/app/toolbar/i18n/sv.json index a12f452..75bcebf 100644 --- a/public/app/toolbar/i18n/sv.json +++ b/public/app/toolbar/i18n/sv.json @@ -87,6 +87,8 @@ "ARABIC": "arabiska", "CALL": "Ring upp", "PREFIXES": "prefix", - "HEBREW": "hebreiska" + "HEBREW": "hebreiska", + "ESTONIAN": "estniska", + "CZECH": "tjeck" } } \ No newline at end of file diff --git a/public/app/toolbar/i18n/tr.json b/public/app/toolbar/i18n/tr.json index 62ce7fb..9136a69 100644 --- a/public/app/toolbar/i18n/tr.json +++ b/public/app/toolbar/i18n/tr.json @@ -87,6 +87,8 @@ "ARABIC": "Arapça", "CALL": "Telefon etmek", "PREFIXES": "Önekleri", - "HEBREW": "İbranice" + "HEBREW": "İbranice", + "ESTONIAN": "Estonyalı", + "CZECH": "Çek" } } \ No newline at end of file diff --git a/public/app/toolbar/i18n/zh-CN.json b/public/app/toolbar/i18n/zh-CN.json index 9e09dd6..a719ab9 100644 --- a/public/app/toolbar/i18n/zh-CN.json +++ b/public/app/toolbar/i18n/zh-CN.json @@ -87,6 +87,8 @@ "ARABIC": "阿拉伯", "CALL": "呼叫", "PREFIXES": "前缀", - "HEBREW": "希伯来语" + "HEBREW": "希伯来语", + "ESTONIAN": "爱沙尼亚语", + "CZECH": "捷克" } } \ No newline at end of file diff --git a/public/app/toolbar/i18n/zh-TW.json b/public/app/toolbar/i18n/zh-TW.json index 8a0ad9f..5974258 100644 --- a/public/app/toolbar/i18n/zh-TW.json +++ b/public/app/toolbar/i18n/zh-TW.json @@ -87,6 +87,8 @@ "ARABIC": "阿拉伯", "CALL": "呼叫", "PREFIXES": "前綴", - "HEBREW": "希伯來語" + "HEBREW": "希伯來語", + "ESTONIAN": "愛沙尼亞語", + "CZECH": "捷克" } } \ No newline at end of file diff --git a/public/assets/images/flags/he.png b/public/assets/images/flags/he.png new file mode 100644 index 0000000000000000000000000000000000000000..8a218724b15b7f25efdd2c40030681098ca6a71b GIT binary patch literal 3317 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 XZPGmBJ literal 0 HcmV?d00001 diff --git a/public/fonts/FontAwesome.otf b/public/fonts/FontAwesome.otf deleted file mode 100644 index 401ec0f36e4f73b8efa40bd6f604fe80d286db70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134808 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 diff --git a/public/fonts/fontawesome-webfont.eot b/public/fonts/fontawesome-webfont.eot deleted file mode 100644 index e9f60ca953f93e35eab4108bd414bc02ddcf3928..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165742 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 G*yFsbY~cLNXLP73aA74Mq6M9f^&YV`isWW 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

5q!RY z*BeMp5!YRitn`g&nth8{m6Dd0QYAj0ZxqJ;!r>+5bAHQflhf0aYx(Url?1GY6U}5F zylvy$dA2fK(`58 z4KJ8nnOPF^3Rx@@8g_Vg6GI*_Bng?U4A#>qx-1Jv@{q$QbMPz!SyL+_iFRlz_(NHK z0V0O}tchz`Cb(6e7?+~x9pfb%8)c-+N~ShwBa6&z&P!?UfKd=_feP)X9~S=&MC3F( z*fN(l@lMz-Sg_16J{@jx<&VV<$8Y)g2W-?OuM)0zALCcypa7@C54l}4jp82+hE{_p zzbA6zM`9T_Oj{2RAI9}Nc{4Y$2PA<_)4TPX&X=UEl76Wmy`q=?CUS>c{DGdm^`|%G z(s%#%Hrw?koB7l6V{b8-VY{XAvxUrI5`qnSe&|K^v-^%e^oLtN=Nq48kKc0Q$&at- zZW5)*hobU>eO7s-$XtWXd)6mnm%lcTUi zK&*foQA{K#vaRajK9rcS7^w0jBmjFlBtBqCDQ+x!lKgTGJR=daf)T>G+sSz z>3!F|bshfrxlql3dksJ;yki`JCk>MLXg+mixfSh^nFV61GuCX5b*731Gb8O4vs+sD z4ZYW1+uL*PwerFv_UNOOT|#!KNGU?!W7<_aPf)(m1c|p*IQ7F$KslqsvIdML5`{$z z0qCeH@IM!*f^8%E$}_%2`zkHzlwXZbDe}9@bPMTFJd+e=i*a)@X7LHY13w}nwL}8*;!Y- zX2blTm}2po@Xu>WVIroz;-*=>PVN;djL-t96631*$$`%G82II>ph;?=TR4h2OMLSQ z2;d3;a80}nlz<;SHDQ`N9Q8jut4l5tVPQt5)YGAfWfy`Xy6Bw73Vm@xer|4VenPRn zqA@3W4m762OLl&L=g#koX_H0iV;tizI$~lRyxb8pIi6uPkq;}DBs2pY@?nAnJs^TD z8|!JS5EC74lgaH!6f4?##+LEvRQOK$x77r0bYambGsZy|W;q?ZfFQGZ5=^R43MD)+ z6i<$Qt^anS2UQ>elc`i$>dK&I$F<#sLe2x&ChT#9G~oMJ&o1ngsLNFmOi*H=P&BPU zE%f!18&NkWEbGE^zTUBW{);XJ1bwMMA8S@RNVDicF2Bdt*M5m!(Yp7|v1MQDVfLib zz2nWNI`Y#~z5BOQaVG)<*(#Jz?qZkt@@afP>W-7vV$y2Q#<~IOO|h;-EJ;N!4Tpo^ zU@8)hpk4hC!wy5Z)+7DJvtx7JcFpS9~Tv{OBpIM#U2D zk8XI`IcLd|InI}FIB@^{{6VN6P;wTAVBz=ve3qTy(=>t;n$`JeDcSLbsnk>E0m)Rm zW;_r~w&+rLE)V!M3z+;R)%Nb?WP5k7{P1TeUF_R`TC8z@?dLmK?~c#!(i*JSku2pS z--8$Fh@<%s*^)j0|Hg>bt>QjBE@Ipwk1==?343tLN;5Apv7hZkM!Shz~&+WynJAc08`uE`A{YtbCi2_ziC%N89v&j=UV=9qCt+GB%BC8;6h8AOLkTMEk zmx-ycsJ!u=#_~lu7w>+0_wJ|J&2VsFBTHw1WwLR$zLvoJ2*eqifiaekEnhy?+g>qu zZUvMf6i_~XSZe<2FrZa>nW!ptu~C5*5DIxY4HuAXNgnh}=7P5nA$+QwLt^``9#_+H z`mfOG+2|DlO&aD@zvygqs~}VbIiMpZi`#jGF-KZ`QT1chMfGWp>G|yL{OMzgD2xcf z&2eS^aeS+cMN(CcBrQxb--Af)ayk_`(~P!%i4=x2Cw_f+-HJeUbzsH1aM}F%>=s2% zM?Q*#8b&>34M=@f(d_9+*56D?Cr|Z%*N>-GXSyHS;W-Dk(&ZigO8Ro{e)| z{{oOe9gI!SmzU>HpVXWG_x(8bB|uKEg4`tZS&zOeJJplyEu|O751;DAFHVI{_uT2Y z6Ay~b#|bRYM44Q%QFaXTC?4xNd0&1-8@TY3-3 zAO33h?)O>J{;hv};kxBFUs|-Ta#}6_1WHvE^7Ha@@(<-7N99dz$V+mztm%#Hmv<&K z_OGe&&wu#3!(#WjKp8E2Vr{y2@G|Zkmfe#|!58R;hVaITt?gwBL01ilO z3ZFxoXLNL_9Mm{*e31+Tuo^8#Vy7NKITuBG1;>E_=_lK;$bl%VrP|4lA`n66UO>>; zpAzE?H7L6DBr}1{9C5%&p}?Iip-(U^m1ib7u@_Ve$B7W}G$G9eeN%KUjA3F2^CMpj zvrcdO;LWT-zsonhwPf=-f#p2T?lwu&)02+B5bsY<5-Z~UZ`Z}G%5qu^PJba{q69~t zw^lIQDm{`Y`26svo|_baJZrQ*Ve_>mGaE|ck`i1wfvGuDvl5*~yP@+UWrg#?xstWW=82!@sC2}|#8tq6 z1uss{tST(5%51I5b4wBzoR++2wv}z|>)jj-0_YgN!Z4Eqh( z#6fa_%rF{Q1v5Y;0ydA&QhX3^yT+8|J8?KE#u@u7&SESEi`)VT={;J_d%r;+;Wzwy z`F^YXkR>tBFoVH5i)5BB`N-3CTL!=3n-mH#v0$Eu)+w8El3a>)m8>vm`-(DXhJ*72 zfB;Ys@uq;74|>^vV{n17eegk})k9i06F*LvrJ-`HvSF-#DuPq%pM?4DF;&QKObL%2 zQT~zg`_%RrVb6)tnD(jjcNGXaiW=7y?3%yx$tQO{E`P}kk3X`5zd%pp6+76as&b8@ zU_*`m|Ge#d&-nju+s^jL|4-T;DkW>X|8HSt&z}Dqh|&C2D)4Sn=$j%~7X&3a0qO9yeGA>hr{%c;twgFkKCw@86vM zU*w<2r`PgL+@u=xvT6$`$KR7uhb^|n?gu0S&eo_F*ooTumu!(V= zZl~^Y-G1Fc-EF%2bl=lGMHYOq$2OcI`G_3II`xEo_ry70SQ(#iz^~oa@jCrH5kGmy zJ_W2ETHF<&An7^cLxTBu8f*fdiSj4%Pu%}i`De#ZJnPAUJ!rq_HRHOP=`LF}_A0y@ zcK)Ih7c197<+^uLSd9@EtJFHUXa_d*&MWN7@mMUd&Llst+&mekM4U0rm5xH)b?j@o zU;no;YHjSuk-J8pCE9(H$I~C>^+r80de;&59co*2;iRil))_J5r?v-tY{P*CF1zo{ z#ubhP(#hu%%uP%xM=f*lzl~ArQudG}>!_1ttj*QX_1g%DP)J0dO3L||o7^TqmPPqb z=F2lc$0-yW(U8RE2lYqdqG7P}v7et1?FU;>Igx^jJ4xB%bOYQ6I?|w14k+s==dU<; z5{^Zs#Cqfto>+)aAK}UJU*9nzr65A9=B8&Jkzf4YxyNp9V(f=EL6S{iM$R0@eaE&M z4V!+zgez}lMepqxKepqE9Xp<2xAd$tg0}G*%$2pH&u`p$#AdFmF&knf?ld;_aN(l& zFTCoXSF@GN2i|U7y}I@7{uOsJ-RJVT%LS{cINAqZ@*);^>|s`Lr`gbZ-|xqJBoD(z|^>f}mZ^yAq^oCu3R%L4-r#J=<4Ooig-dkn*oo4Vcpo!xc5B0c5-8YXx z9<_P$zK>ykW1Gpy#<}k7{oBM*k(&4D5!!vz1!Jx7UlbpNg3bzDughUkIULxV_62H7 z&e$4jd|Sm4Jm@!a1&{r{fX0m#A)izODZ;2mMy?5QEHV=2Dxs#qx*uFl*>@IxD zH>5q4SAJR4odE;XpDK=5V2K=Ie~qj!WP$M^`4y@88)$ge!Gkz5eC?a)b>h|P3>@nR zOyQ$H3SmF`hq^b=Cw`dw@Icyv>?c9K4I4K%+6W6p%q!19G?!yjT2)z|)GK&;jrWc$9ufXrw99RU~#s+9!Ivp!ekG66gjP#Z3p< zWrf^OC6;;=IT?@oUh;VTS#}W!29oPYf&h@xSz8^+;>fmI>_Mlz+UPYHjRvpLa46lH zZu48M>TN4U8H^q$+mm)p*k35lnP2Va9)nA77bL;(oZ$7P>9bePaOGO99DY~?A+KC- z-mr9PZ(_0`qco*pxjk{J(-z2b720ezb3uuX;|we_InI+FNlRV*h?Bv*SWI4S4un}v zz9?^bY)Xs`PKC2KNG#E26O$p??%<|$?upBF*=??Z=O0a3zA2%or)zrF-!YI6VZy1aKN#^Q>N zho*lbG9`&ZV$+_G-Q(;lDolHHrqg1Lj;r)Uxuzv^y@^Q<39iR-GD983og+!Pdc7f# zGkr>3ZE`q1HaYCi_gUf|WTxie_VRVhmI$0}{U#995sm{M1Psmu+(nVTFiG8&3NFY6 z0#d-lBW`Auh&UWFA}T#q3emX3@)?>wGE8 z8^(W`=#XZQZ^VJCzzb$w0n2^QY_AV6c`iuJ$LIU2sGt9MDY(51x|P|XznE%2NWz97{`x-sjWl?W*k(jiGvfG zDiDdSL_&N6#`n?<{w!D}jB=H_Aa-0RrKP7q%Q#T#ff)y|RTQm_5E7I@=;Q19D%Uf{ zC8OPB!tNcuieO*U0@L@RAnGN(5ofW--`}>4J-FefM7Q-&Prr^L!vqVlSbzYxi?9i!!v#fD(@+Ji>SV#- zhrj^|6jX77FNHXf^jV~GO~?b8NYf39?)r3}PJo~<{Mq1@w@`q%2GVhCca;BtyKn|< zXhe&f^^&dd{GQR2s6(}EvApiiIG-Rc&6Kv~rR66}htK`F{QgbX$ba3C?3jA{w|3`b zr)HZ(;ryT6vaLaMl&78Z<-=EJW_r@$Of2-8JihypoJ%i0FDvWHEzf;A#~$DC>sO1@ zX06G{ByTx$pz^MdO3wuHD4f|7ND{bIkzEVtS4P+LTdKKbNzU%XkR#1^2o^jl4*c@i zkC29{1%^*IPcMLXz>*_ytsO4p+`P+Gs}46yzb`8j?$VKy(qAx%uKT- zrgr|+jE#S()aTUJ$Hh8LuDF)imQ1(UeDk^*i`DCIW9Kr{?)k6De;iJ=#KUOuYS`xs zoY%c3KHl2kzvRjtxw$;X5g(h7U^S;qHTw2n{?aYOZHZ})IaB=$hUEr~U*<`x{vGMB zIH@WI1-e49IE7__@IRvQ?2sb|1@$Qf8OgCH^+F}um0fT-Y0Kv<)7!@Q<0VAPVkx~L3EgHnVH!c zsj)UT{*&!bw8WO~IKsTQ=B&usVtY;ACCk@aZ@x7F?j%!Qdzub`o>p)AYhG(JE_&ea z@~to2%nJVc`nMuE-etEA2dX6dX$S z?24eHO)}jB(9OOQdfE5G_7CJv$wDR0Q^|5=>Hqebte64SYEojbq#NTV`3J?vEy+FL zEa89kd}PpB?8F}|a{k-9_}%jC6GzBqs!*L>4#Mbv&Y~0vmY>t<^x^lPh7Ny)3d*x3 zs_eLta-xLK|A#w`4bv52eOrX}?JA-*0j;27Ag1Gi5TB44g=ctmEu!r-9mU|CVqzsq zf(9D4&=aD5m?c%PVO#);3D-sq!N=zI}Liha5PM|k0Bvc zhE$6D5LJg|Cey|;!$_e|zT*k6&1MgHpD42hX4*RBKfmVWv8g%EL9iPJojIwo-1(aP z=MLMENC zlPJHW__Pcs<(lHzEvY@WQZE{{;jq8doXPTUlwbHXIyc2-j2?T7WC7nAi#EDaa-%A-cnmns=lx&RbO@RAPk%5=Soykq1~<)B)@SZtN7-EqHFDoCGNR7m4^nhuYq9Tg)YmlhQ)6kbmT-1T^(v4)5SiTP=d47`;gJ!5Fx``YNp zd$)BP5c=8Z4a|KnnPL8=7_8`9Y zuK~nM0Zg)GW#R`jNPe9CPd0sY>O7ug0)&TeDZT%ml7|+=d>$juV8s{8ud#PO@BEBy z|H0y?`7~P46`W&C*()jdimRIQ))>^fOn&m3paOu*0Flg z(~H(Cxsd;KNqqA+P=(mDo@9pA&{4OJcXS`=KE*de6w41m zS8OY=Wq>RtCWKzuVnB~s-D?OjdSwft>=M9@P`DCd5(W=@1Il_&s}49BSbvbCiZKu7 zoMHu5XIJ?an5Gno35N*;4|X6BD2bW@l8)grnwKcjbN>ei^sP>^eOfPJ#S_D(gwGYI!YV=NrJx&muiF}3C zkd|Y$;4&VQF&&F|bTqD#=(3jA_^krX3jt|*QZdZv-x!x;ArzOHEl`|?)ybUsBt~6te+nqYz>vSY0 zOmjLN;VS->=yW)!8EDM+9dKG2PB!OHMvL9x@JIi};?MN@jd$K;N@9Me{AFUOJ=SCs zQtnJvD~s35??&as8l&hUgu_->bai}!HQF`K66^fd@>;jc%BwfZU(TB@G_IH6;do|2 z*X%X+jaS}WIrZY9C8lNPS9r@}3^h%=XFC@+ck)4Zi5*|9T+zTJxCh5)i>?z>+-ag1 zlbt4sUSUJRbbNL~VpW=Re5oT&6r${oczpaZPuS@&=ZAf;`mc*+e%c8s|B7_YS{Ob! zba!fDj-A90wXgur@8?=r)LB@(7M66d{iB8Th~KP*4Z1}<2P!?d3I5?tC^r0IDlxvsr=9`9!^0Xn{M8i6eL(Qq?p=at& zDr*RJv?G0=(rrD6Ye6iQ2LwP662wfN&*9^dj_}`n@e@lv${JnXYSOWDt5i)VvlImI}KE{+kkt zFj8u-^edxPgv{SmW>GIbvVS;&_X>?ew}17IKZiFAl#qZ^!acf6amI9&?rPWy+N-;g z5xR!ERY;K=m=WGt&CG&bnhoTpgE^rB7|mSF&0?_Vd08y{wZyXoNLwUtLO%i*>UNtOv}uKIl^putByFHc*Dy2u#9mVw>TOd@I|=&cVj` zJcv(jXJhOFb|KrrE`r;^U2HcbNiKov>K=9(yPRFYu4GrStJz+54co`|vjgl~Fv@lv zyPn+uA3+CUq5CFwnBC02&2C}0vfJ40><)Okx{KY-?qT<```CBb{p`E!0rnt!h&{}{ z#~xvivd7?V^$GSQ`#yV$JX+Fo>{S@i z{TX|m{hYnQ-ehmFx7j=F7wld39{VNx6?>oknjK{yuw(2)_7VFHtf~GEo{K(ae_(%P ze`24oPuXYebM|NU1^Wy8EBhP!JNpOwC;O6p#g4NRY@EsLB-e4qITyIdB@S*1H|o;3 ziJQ3v-hpf!h6A~iNAYOx;%*+pJ>1J;0=5xpT%eM zIeadk$LI3}d?9b-i}+%`ME5#h%9ruwd<9?0SMk++4PVRG@%6lkH}e+W%G-E5kMIsC zJ#_JIzJd4fUf#$1`2Zi}8~G3)<|BNRZ{nNz7QU5l=cIDdja$-mE^ z;!pD*@FV;g{w#lv|B(NPKhIy_FY+Jrm-tWkPx;II75*xJjsJ|l&VSC|;BWG`_}ly) z{tNyte~Tgu$p6GY;h*x)_~-o3{0sgU z{#X7t{&)Tl{!jiT|B4^yCpdIt`AIE`oLaLA^qzf5Brr;N{glr*4$QAO0e4#)9FHR^H zN`!z=DgxA_}lh7=*2(3b!&@M!T4xv-%61s&A zLXXfZ^a=gKfG{X*6o!OhVMG`eHVK=BEy7k|n{bYBu5ccdNVW@O!Ue*G!VcjgVW+T5 z*ezTvTq0a5>=7;#E*Gv4t`x2kt`_zR*9iNB{lWp^Tf()%b;9++4Z@AWLE(^alWwe&M^q1G;@uXK%~!u+%p?+})-hjslmcibZtxav+Lv6hg)HxVw88Kj~ z236H%q^2kZ_71f5h#kExoo0MY`(W2Ve`MIaX`pwsFVckeShOHjVA8^)gZhm_Z3FEQ zLo2!icVVQZQ^aprY#kWrG17%rcxiB`yMILA*3uUlY7uF9#rxiNefLNU7DCHNWXniX zSA?iQvl8Ci-9FM~#=Fk`rrt=$h*b?@$sCCcS=0xGGPJ4T4Wq*&-5py+`W8!fe>>8t z`LwW-*51+57NK5i+SJ`1888fXw~dSrMf8J_{lgD8Hz}4T@myU4VZ0sBr@34+S1muxn-!`*3p74oOm)$1Vrj|X|M%A0Kga+G=Tb{ z(zfKalco=rmo>X+Ll9+Xco4fc)>HxXc%`?~wJphX2DCE761qugy9 zM1=@NCh9g$=SATbZr_y!_{n;Newzc#|`rBKE^h4Mx4D=b=2KxFi-uk|l z&i=@Vd7{5Y2T%1QwGZGvvN;kNvEkDP2dT(5Ojv6NpfEC|R%X#2s0j|O;hQ2uAV*tz zqqOI)fuZhgL>=~;0P#(2fQu39$mZ@5z@^&p1Y`vE%9B-v_$E|7G$8auwu+d|!$z&i z!?uyG(Z1Ha4sG(Jb0~I?^HBv8dP`{+icZ&kzYDM;m$*Vq^ zl>|y=gZ9D3iEq`bCF@6lhT3{805MD&>fm-^Xn0uYYHv5T0vgbH{bFmRx7X4}-P(bU z9f_E`FpNzqbSpuc?*=6_I%rbv)FDwSa5kNW$mla-lmZ-QM2!xfnTd)44j*WZ=r<2x z&UZ;8EyF#-dSF!anW=TCJJQjHO^lf!SDhzP=g`3DAka#Gj|6}mZP&L(T7V&hw$Tv` z<=|HHV9THaKiz}kF!rxz8l9$A0BR2)ZeR$&#YcPjKrb-HPX@;`+GER!N6jA3M}8GRlZX`(O1 zJfR>asT!bewWvX*uP|?b+53mZ;ejE58ZJsUgA&5znONBfM6gDvuqLA20|1y#z<)cI zq}Bn9u|)%CN@<+{ZF(RaKLU6i!7gvm2uL5o*tY;90_T~5+q-}?M|)e1zzZ1X&WK&< zVx<|hbXnC$6;chfls5IXTab68YhW0iA2AM(c8}1A840MUMtvI=sz?MY%mA=5t(3}g zLZ8q&+TDxU(rHBIL0WfAEq$oHrN1qr?~AnebdOj%s7a`0Lj+BaU>)dE`d#cO?ubOS z4~$}lfxL!=I@5dA`5q|4BW)qSv~-3T(N#XWN0tGc7k%CGBuR1L>hY|AZH0@r~w6H(Zn`&H8Uw_or*%qB>}U#whBE%n}ybqHX@TFrc-m)soc#gzu>60&Z^YC75)QI|ID zLEM62Hqk|iK9z<#)6fpM0Z|Q<4gzojd4a~lbLUV?pS}Y$ZO@R<(%vt2l$4d&Tf0YE zf!KkK)nNc8>>aXOP7_nMNzbE$liw0tIVZhUr}$=&xdWSr4Vb1w1KsTs zCdTL%G_$*v)|TO(t%F$921bX5H;!Ua0673q8PInCE%!!5y3hhX(mf~)kJ8YF!v@;i zbZ?3Xt)rcMQ;)Pc(%m|MjYB{Fkf1DJSH2z7LB-q@7mQIqU}6pKRY`Dq6}GnzfF4k` zA6n;^m0LG~6bDtRv;@aqncoGP%W(%1qF+dDOik5 z!D3_z7E`8@V!F`V63SFUnMzPiumsfvODIPPqGQmzuQ!q?9!juDcjB%kH zVXdhR$~(#wF2j&?DDNm!8NDc@Ol6d*j9!#cHDy!{B%P7CjY3pS8RaOa9OaaQ;37zH z5hS<>5?llcE`kIXL4u25IpwIJ92Jyz$GYl1e9R}P#~ndpd17gApiv~$Ppr- z2oX?(icv?X7ZaA%cidafP%g0$hq9fkcSP3K2+z2qZ!T5+MSK5P?L9Kq6E^ zl?14g0OcTH2oW%Z2pB>H3?TxB5CKDofFVS{5F%g*5io=Z7(xULAwpjvn6|=&a+Fez zQp!q^DF+4}7s?T?KyM=lE|dd@ekAZhiUx7H2z^4|8PK^ zmVp|rg*ED&57Y$Ime-VOcXh%AYP6=-s53uMQ>MKy*X|SL)o9PP+PzM@*K79~>b+L0 zw^pmSR;#yGtG8CGw^pmSR;#yGtG8CGw^pmSR;#yGtG8CGw^pmSR;yP-nt?j4-a4(` zI<4M1t=>AV-a4(`I<4M1t=>AV-a4(`I<4M1t=>AV-a4&b4Yvj~+#0CY>aEx6t=H<+ zFl<1>uz`B5-g>Rxdad4it=@XA-g>Rxdad4it=<`0KhO9-gZkGMYOgEQURS8Su2BEF zLjCIsN-365OI@Lsx - - - -Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 - By ,,, -Copyright Dave Gandy 2016. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/public/fonts/fontawesome-webfont.ttf b/public/fonts/fontawesome-webfont.ttf deleted file mode 100644 index 35acda2fa1196aad98c2adf4378a7611dd713aa3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165548 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 z 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 d0mRO}xo^G_%I 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 SdSQM28?+M|D(2r_;{O0|uQ74} diff --git a/public/fonts/fontawesome-webfont.woff2 b/public/fonts/fontawesome-webfont.woff2 deleted file mode 100644 index 4d13fc60404b91e398a37200c4a77b645cfd9586..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77160 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 diff --git a/public/index.html b/public/index.html index 64795b0..540bb23 100644 --- a/public/index.html +++ b/public/index.html @@ -10,9 +10,9 @@ - + - + @@ -56,9 +56,9 @@ - + - + diff --git a/public/scripts/app.0366ee25.js b/public/scripts/app.0366ee25.js deleted file mode 100644 index b112a6f..0000000 --- a/public/scripts/app.0366ee25.js +++ /dev/null @@ -1 +0,0 @@ -!function(){"use strict";angular.module("app.auth",[])}(),function(){"use strict";angular.module("app.core",["ngAnimate","ngAria","ngCookies","ngMessages","ngResource","ngSanitize","ngMaterial","pascalprecht.translate","ui.router","gridster","ds.clock","angucomplete-alt"])}(),function(){"use strict";function e(e,t){e.state("app.errors_error-404",{url:"/errors/error-404",views:{"main@":{templateUrl:"app/core/layouts/content-only.html",controller:"MainController as vm"},"content@app.errors_error-404":{templateUrl:"app/errors/404/error-404.html",controller:"Error404Controller as vm"}},params:{status:404,statusText:"",data:{},config:{}},bodyClass:"error-404"}),t.addPart("app/errors/404")}e.$inject=["$stateProvider","$translatePartialLoaderProvider"],angular.module("app.errors.error-404",[]).config(e)}(),function(){"use strict";function e(e,t){e.state("app.errors_error-500",{url:"/errors/error-500",views:{"main@":{templateUrl:"app/core/layouts/content-only.html",controller:"MainController as vm"},"content@app.errors_error-500":{templateUrl:"app/errors/500/error-500.html",controller:"Error500Controller as vm"}},params:{status:500,statusText:"",data:{},config:{}},bodyClass:"error-500"}),t.addPart("app/errors/500")}e.$inject=["$stateProvider","$translatePartialLoaderProvider"],angular.module("app.errors.error-500",[]).config(e)}(),function(){"use strict";angular.module("app.errors",["app.errors.error-404","app.errors.error-500"])}(),function(){"use strict";function e(e){e.addPart("app/footer")}e.$inject=["$translatePartialLoaderProvider"],angular.module("app.footer",[]).config(e)}(),function(){"use strict";function e(e,t){e.state("app.forgot",{url:"/forgot",views:{"main@":{templateUrl:"app/core/layouts/content-only.html",controller:"MainController as vm"},"content@app.forgot":{templateUrl:"app/forgot/forgot.html",controller:"ForgotPasswordController as vm"}},bodyClass:"forgot"}),t.addPart("app/forgot")}e.$inject=["$stateProvider","$translatePartialLoaderProvider"],angular.module("app.forgot",[]).config(e)}(),function(){"use strict";function e(e){e.addPart("app/header")}e.$inject=["$translatePartialLoaderProvider"],angular.module("app.header",[]).config(e)}(),function(){"use strict";angular.module("motion",["angular-toasty","app.core","app.auth","app.navigation","app.toolbar","app.quick-panel","app.header","app.footer","app.dashboards","app.staff","app.contactmanager","app.voice","app.chat","app.mail","app.sms","app.openchannel","app.fax","app.tools","app.callysquare","app.analytics","app.integrations","app.settings","app.help","app.motiondialer","app.jscripty","app.marketplace","app.plugins","app.login","app.forgot","app.reset","app.errors"])}(),function(){"use strict";function e(e,t){e.state("app.login",{url:"/login?token&userId",views:{"main@":{templateUrl:"app/core/layouts/content-only.html",controller:"MainController as vm"},"content@app.login":{templateUrl:"app/login/login.html",controller:"LoginController as vm"}},bodyClass:"login"}),t.addPart("app/login")}e.$inject=["$stateProvider","$translatePartialLoaderProvider"],angular.module("app.login",[]).config(e)}(),function(){"use strict";function e(e,t,n,a){e.state("app.analytics",{abstract:!0,url:"/analytics"}).state("app.analytics.metrics",{url:"/metrics",views:{"content@app":{templateUrl:"app/main/apps/analytics/views/metrics/metrics.html",controller:"MetricsController as vm"}},resolve:{metrics:["apiResolver",function(e){return e.resolve("analyticMetric@get",{fields:"createdAt,updatedAt,id,name,table,metric,description",sort:"-updatedAt",limit:10,offset:0})}]},authenticate:!0,permissionId:1201,bodyClass:"analytics"}).state("app.analytics.extractedReports",{url:"/extractedReports",views:{"content@app":{templateUrl:"app/main/apps/analytics/views/extractedReports/extractedReports.html",controller:"ExtractedReportsController as vm"}},resolve:{extractedReports:["apiResolver",function(e){return e.resolve("analyticExtractedReport@get",{fields:"createdAt,updatedAt,id,name,basename,savename,type,startDate,endDate,status,output",sort:"-updatedAt",limit:10,offset:0})}]},authenticate:!0,permissionId:1202,bodyClass:"analytics"}),t.addPart("app/main/apps/analytics")}e.$inject=["$stateProvider","$translatePartialLoaderProvider","msApiProvider","msNavigationServiceProvider"],angular.module("app.analytics",["ngCsv","ngPassword","md.data.table","flow","mdColorPicker","ckeditor","ng-sortable","ngAria","ngAnimate","mdPickers","mwFormBuilder","mwFormViewer","mwFormUtils","ngclipboard","angular-cron-jobs","ngEmbed","angularMaterialFormBuilder","material.components.expansionPanels","chart.js","angular.filter","app.analytics.reports"]).config(e)}(),function(){"use strict";function e(e){e.state("app.analytics.reports",{url:"/reports",views:{"content@app":{templateUrl:"app/main/apps/analytics/views/reports/reports.html",controller:"ReportsController as vm"}},resolve:{treeReports:["apiResolver",function(e){return e.resolve("analyticTreeReport@get",{fields:"id,tree",limit:10,offset:0})}]},authenticate:!0,permissionId:1203,bodyClass:"analytics"}).state("app.analytics.reports.edit",{url:"/:id?tab",views:{"content@app":{templateUrl:"app/main/apps/analytics/views/reports/edit/view.html",controller:"ReportController as vm"}},resolve:{report:["apiResolver","$stateParams","$q","describeTable",function(e,t,a,i){var o;return e.resolve("analyticCustomReport@get",{fields:"createdAt,updatedAt,id,name,description,table,conditions,joins",id:t.id}).then(function(e){var t=[];if((o=e).joins)try{o.joins=JSON.parse(o.joins);for(var n=0;n');a.append(t),s(function(){!function(e,t){var n=t.find("code"),a=e.split("\n"),i=(a=a.filter(function(e){return e.trim().length}))[0].match(/^\s*/)[0],o=new RegExp("^"+i);a=a.map(function(e){return e.replace(o,"").replace(/\s+$/,"")});var s=hljs.highlight(r.language||r.lang,a.join("\n"),!0);s.value=s.value.replace(/=""<\/span>/gi,"").replace("","").replace("",""),n.append(s.value).addClass("highlight")}(e,t)},34,!1)}})}}}}e.$inject=["$timeout","$q","$interpolate"],angular.module("app.core").directive("hljs",e)}(),function(){"use strict";angular.module("app.core").directive("msCard",function(){return{restrict:"E",scope:{templatePath:"=template",card:"=ngModel",vm:"=viewModel"},template:'

',compile:function(e){return e.addClass("ms-card"),function(e,t){e.cardTemplateLoaded=function(){e.$emit("msCard::cardTemplateLoaded",t)}}}}})}(),function(){"use strict";angular.module("app.core").directive("msClickToCall",function(){return{restrict:"E",scope:{type:"=",disabled:"=",target:"=",prefix:"=",license:"="},controller:["$scope","$rootScope","$http","$translate","$document","$mdDialog","Auth","toasty","api",function(n,t,a,i,o,s,e,r,l){function d(e){switch(n.currentUser.showWebBar){case 0:return m("http://127.0.0.1:"+(n.currentUser.phoneBarRemoteControlPort||"9888")+"/api/originate/"+c(e));case 2:return t.$broadcast("webrtc::call",{target:c(e)})}}function c(e){return _.isNil(e)?"":e.replace(/[^\w.+#*\-]+/g,"")}function m(e){return a.get(e).success(function(){r.success({title:"Successful call",msg:"Call properly handled!"})}).error(function(e){r.error({title:"PhoneBar API Error",msg:i.instant("CONTACTMANAGER.ERRORS.PHONEBAR_API")})})}n.currentUser=e.getCurrentUser(),n.showMenu=function(){return n.target&&n.target.indexOf("@")<0&&n.target!=n.currentUser.internal&&n.target!=n.currentUser.name&&(0==n.currentUser.showWebBar&&n.currentUser.phoneBarRemoteControl||2==n.currentUser.showWebBar&&n.license.webrtc)&&!n.disabled},n.call=function(e){return 2!==n.currentUser.showWebBar?(t=e,l.user.getVoicePrefixes({id:n.currentUser.id}).$promise.then(function(e){if(e.count)return s.show({controller:"PrefixDialogController",controllerAs:"vm",templateUrl:"assets/ms-phonebar/prefix/dialog.html",parent:angular.element(o.body),clickOutsideToClose:!0,locals:{prefixes:e,required:n.currentUser.phoneBarPrefixRequired}})}).then(function(e){n.currentUser.phoneBarPrefixRequired?e&&-1!==e&&d(e+t):e&&-1!==e?d(e+t):e||d(t)})):d(e);var t},n.transfer=function(e){switch(n.currentUser.showWebBar){case 0:return m("http://127.0.0.1:"+(n.currentUser.phoneBarRemoteControlPort||"9888")+"/api/transfer?number="+c(e));case 2:t.$broadcast("webrtc::transfer",{target:c(e)})}}}],templateUrl:"app/core/directives/ms-click-to-call/ms-click-to-call.html"}})}(),function(){"use strict";function e(i){return{require:"ngModel",priority:1,link:function(e,t,n,a){a.$formatters.push(i.formatter),a.$parsers.push(i.parser)}}}e.$inject=["msDatepickerFixConfig"],angular.module("app.core").provider("msDatepickerFixConfig",function(){var t={formatter:function(e){return e?""===e?e:new Date(e):""},parser:function(e){return e?moment(e).add(moment(e).utcOffset(),"m").toDate():""}};this.config=function(e){t=angular.extend({},t,e)},this.$get=function(){return t}}).directive("msDatepickerFix",e)}(),function(){"use strict";angular.module("app.core").directive("msDualMultiselect",function(){return{restrict:"E",scope:{options:"="},controller:["$scope",function(s){s.transfer=function(e,t,n,a){var i=[];if(0<=n)i.push(e[n]),t.push(e[n]),e.splice(n,1);else{for(var o=0;o',link:function(n,e){var t=e.emojioneArea({pickerPosition:n.pickerPosition,search:n.search,recentEmojis:n.recentEmojis,placeholder:a.instant(n.placeholder||"Type a message"),attributes:{spellcheck:!0},events:{keyup:function(e,t){n.ngModel=this.getText(),n.onReply({event:t,body:this.getText()})},emojibtn_click:function(){n.ngModel=this.getText()}}});n.ngModel&&t[0].emojioneArea.setText(n.ngModel),n.internalControl=n.ctrlMethods||{},n.internalControl.setText=function(e){t[0].emojioneArea.setText(e)},n.internalControl.getText=function(){return t[0].emojioneArea.getText()},n.$watch("ngModel",function(e){e||t[0].emojioneArea.setText("")})}}}e.$inject=["$translate"],angular.module("app.core").directive("msEmojiArea",e)}(),function(){"use strict";angular.module("app.core").directive("msFontFamily",function(){return{restrict:"E",scope:{ngModel:"="},controller:["$scope",function(e){e.fonts=[{option:"Arial",value:"Arial,Helvetica,sans-serif"},{option:"Comic Sans MS",value:"Comic Sans MS,cursive"},{option:"Courier New",value:"Courier New,Courier,monospace"},{option:"Georgia",value:"Georgia,serif"},{option:"Lucida Sans Unicode",value:"Lucida Sans Unicode,Lucida Grande,sans-serif"},{option:"Tahoma",value:"Tahoma,Geneva,sans-serif"},{option:"Times New Roman",value:"Times New Roman,Times,serif"},{option:"Trebuchet MS",value:"Trebuchet MS,Helvetica,sans-serif"},{option:"Verdana",value:"Verdana,Geneva,sans-serif"}]}],templateUrl:"app/core/directives/ms-font-family/ms-font-family.html"}})}(),function(){"use strict";angular.module("app.core").controller("MsFormWizardController",function(){var t=this;function e(){return t.forms.length}function n(){return 0===t.selectedIndex}function a(){return t.selectedIndex===e()-1}t.forms=[],t.selectedIndex=0,t.registerForm=function(e){t.forms.push(e)},t.previousStep=function(){if(n())return;t.selectedIndex--},t.nextStep=function(){if(a())return;t.selectedIndex++},t.firstStep=function(){t.selectedIndex=0},t.lastStep=function(){t.selectedIndex=e()-1},t.totalSteps=e,t.isFirstStep=n,t.isLastStep=a,t.currentStepInvalid=function(){return angular.isDefined(t.forms[t.selectedIndex])&&t.forms[t.selectedIndex].$invalid},t.previousStepInvalid=function(){return 0d.options.responsive.md?d.options.responsive.md:d.columnCount:l("sm")?d.columnCount=d.columnCount>d.options.responsive.sm?d.options.responsive.sm:d.columnCount:d.columnCount=d.options.responsive.xs;d.columnWidth=d.containerPos.width/d.columnCount}(),r.$broadcast("msMasonry:relayoutStarted"),d.items=d.container.find("ms-masonry-item");for(var e=Array.apply(null,new Array(d.columnCount)).map(function(){return 0}),t=0;t'),r=angular.element('
'),l=t.parent();function d(){o.addClass("ms-nav-folded"),g.$broadcast("msNav::forceCollapse"),t.scrollTop(0),l.append(s),s.on("mouseenter touchstart",function(e){c(e),i=!0})}function c(e){angular.isDefined(e)&&e.preventDefault(),o.addClass("ms-nav-folded-open"),g.$broadcast("msNav::expandMatchingToggles"),l.find(s).remove(),l.parent().append(r),r.on("mouseenter touchstart",function(e){m(e),i=!1})}function m(e){angular.isDefined(e)&&e.preventDefault(),g.$broadcast("msNav::forceCollapse"),t.scrollTop(0),o.removeClass("ms-nav-folded-open"),l.parent().find(r).remove(),l.append(s),s.on("mouseenter touchstart",function(e){c(e),i=!0})}function u(){o.removeClass("ms-nav-folded ms-nav-folded-open"),g.$broadcast("msNav::expandMatchingToggles"),t.off("mouseenter mouseleave")}v.setFoldable(e,t,a),a?d():u(),e.toggleFold=function(){(a=!a)?d():u()},e.openFolded=c,e.closeFolded=m,e.isNavFoldedOpen=function(){return i},e.$on("$destroy",function(){s.off("mouseenter touchstart"),r.off("mouseenter touchstart"),t.off("mouseenter mouseleave")})}}}function t(n,a,i){return{restrict:"E",scope:{},controller:"MsNavController",compile:function(e){return e.addClass("ms-nav"),function(e){n.$broadcast("msNav::expandMatchingToggles");var t=n.$on("$stateChangeSuccess",function(){n.$broadcast("msNav::expandMatchingToggles"),a.when("navigation").then(function(e){e.close(),i.isNavFoldedOpen()&&i.closeFolded()})});e.$on("$destroy",function(){t()})}}}}function n(m,u,p,g){return{restrict:"A",require:"^msNav",scope:!0,compile:function(e,t){return e.addClass("ms-nav-toggle"),angular.isUndefined(t.collapsed)&&(t.collapsed=!0),e.attr("collapsed",t.collapsed),function(a,i,e,n){var o={expanded:"expanded",expandAnimation:"expand-animation",collapseAnimation:"collapse-animation"},t=i.find("a"),s=[],r=/\(.*\)/g;function l(){return"true"===i.attr("collapsed")}function d(){var e=u.defer();if(!l())return e.reject({error:!0}),e.promise;i.attr("collapsed",!1);var t=angular.element(i.find("ms-nav-toggle-items")[0]);t.css({position:"absolute",visibility:"hidden",display:"block",height:"auto"});var n=t[0].offsetHeight;return t.css({position:"",visibility:"",display:"",height:""}),a.$evalAsync(function(){p.animate(t,{display:"block",height:"0px"},{height:n+"px"},o.expandAnimation).then(function(){t.addClass(o.expanded),t.css({height:""}),e.resolve({success:!0})})}),e.promise}function c(){var e=u.defer();if(l())return e.reject({error:!0}),e.promise;i.attr("collapsed",!0);var t=angular.element(i.find("ms-nav-toggle-items")[0]),n=t[0].offsetHeight;return a.$evalAsync(function(){p.animate(t,{height:n+"px"},{height:"0px"},o.collapseAnimation).then(function(){t.removeClass(o.expanded),t.css({display:"",height:""}),e.resolve({success:!0})})}),e.promise}angular.forEach(t,function(e){var t=angular.element(e).attr("ui-sref");angular.isUndefined(t)||(t=t.replace(r,""),s.push(t))}),n.setToggleItem(i,a),i.children(".ms-nav-button").on("click",function(){if(n.isDisabled())return;n.disable(),l()?(n.clearLockedItems(),a.$emit("msNav::pushToLockedList"),m.$broadcast("msNav::collapse"),d().then(function(){n.enable()})):a.$broadcast("msNav::forceCollapse")}),a.$on("$destroy",function(){i.children(".ms-nav-button").off("click")}),a.$on("msNav::collapse",function(){var e=n.getLockedItems(),t=!1;angular.forEach(e,function(e){angular.equals(e.scope,a)&&(t=!0)}),t||c().then(function(){n.enable()})}),a.$on("msNav::forceCollapse",function(){c().then(function(){n.enable()})}),a.$on("msNav::expandMatchingToggles",function(){var t=g.current.name,n=!1;angular.forEach(s,function(e){t===e&&(n=!0)}),n?d():c()}),a.$on("msNav::pushToLockedList",function(){n.setLockedItem(i,a)})}}}}e.$inject=["$document","$rootScope","msNavFoldService"],t.$inject=["$rootScope","$mdComponentRegistry","msNavFoldService"],n.$inject=["$rootScope","$q","$animate","$state"],angular.module("app.core").factory("msNavFoldService",function(){var n={};return{setFoldable:function(e,t){n={scope:e,element:t}},isNavFoldedOpen:function(){return n.scope.isNavFoldedOpen()},toggleFold:function(){n.scope.toggleFold()},openFolded:function(){n.scope.openFolded()},closeFolded:function(){n.scope.closeFolded()}}}).directive("msNavIsFolded",e).controller("MsNavController",function(){var e=this,t=!1,n=[],a=[];e.isDisabled=function(){return t},e.enable=function(){t=!1},e.disable=function(){t=!0},e.setToggleItem=function(e,t){n.push({element:e,scope:t})},e.getLockedItems=function(){return a},e.setLockedItem=function(e,t){a.push({element:e,scope:t})},e.clearLockedItems=function(){a=[]}}).directive("msNav",t).directive("msNavTitle",function(){return{restrict:"A",compile:function(e){return e.addClass("ms-nav-title"),function(){}}}}).directive("msNavButton",function(){return{restrict:"AE",compile:function(e){return e.addClass("ms-nav-button"),function(){}}}}).directive("msNavToggle",n)}(),function(){"use strict";function e(e,t){e.root?this.navigation=t.getNavigation(e.root):this.navigation=t.getNavigation(),this.toggleHorizontalMobileMenu=function(){angular.element("body").toggleClass("ms-navigation-horizontal-mobile-menu-active")},t.sort()}function t(c,m,u,p){return{restrict:"E",scope:{folded:"=",root:"@"},controller:"MsNavigationController as vm",templateUrl:"app/core/directives/ms-navigation/templates/vertical.html",transclude:!0,compile:function(e){return e.addClass("ms-navigation"),function(e,t){var n=angular.element("body"),a=angular.element('
'),i=angular.element('
'),o=u("navigation");function s(e){if(p.setFolded(e),e)c.$broadcast("msNavigation::collapse"),n.addClass("ms-navigation-folded"),r();else{var t=p.getActiveItem();t&&t.scope.$emit("msNavigation::stateMatched"),n.removeClass("ms-navigation-folded ms-navigation-folded-open"),i.remove()}}function r(){t.parent().append(a),m(function(){a.on("mouseenter touchstart",l)})}function l(e){e&&e.preventDefault(),p.setFoldedOpen(!0);var t=p.getActiveItem();t&&t.scope.$emit("msNavigation::stateMatched"),n.addClass("ms-navigation-folded-open"),a.remove(),n.find("#main").append(i),i.on("mouseenter touchstart",d)}function d(e){e&&e.preventDefault(),p.setFoldedOpen(!1),c.$broadcast("msNavigation::collapse"),n.removeClass("ms-navigation-folded-open"),i.remove(),r()}p.setNavigationScope(e),function(){null===p.getFolded()&&p.setFolded(e.folded);p.getFolded()&&(m(function(){c.$broadcast("msNavigation::collapse")}),n.addClass("ms-navigation-folded"),r())}(),e.$watch(function(){return o.isLockedOpen()},function(e,t){if(!angular.isUndefined(e)&&!angular.equals(e,t)&&p.getFolded())if(e)c.$broadcast("msNavigation::collapse");else{var n=p.getActiveItem();n&&n.scope.$emit("msNavigation::stateMatched")}}),e.$watch("folded",function(e,t){angular.isUndefined(e)||angular.equals(e,t)||s(e)}),e.toggleFolded=function(){s(!p.getFolded())},e.$on("$stateChangeStart",function(){o.close()}),e.$on("$destroy",function(){i.off("mouseenter touchstart"),a.off("mouseenter touchstart")})}}}}function n(n,e,a,i,t,o){var s=this;s.element=e,s.node=n.node,s.hasChildren=void 0,s.collapsed=void 0,s.collapsable=void 0,s.group=void 0,s.animateHeightClass="animate-height",s.toggleCollapsed=function(){s.collapsed?s.expand():s.collapse()},s.collapse=function(){var e=s.element.children("ul"),t=e[0].offsetHeight;n.$evalAsync(function(){s.collapsed=!0,s.element.addClass("collapsing"),i.animate(e,{display:"block",height:t+"px"},{height:"0px"},s.animateHeightClass).then(function(){e.css({display:"",height:""}),s.element.removeClass("collapsing")}),n.$broadcast("msNavigation::collapse")})},s.expand=function(){var e=s.element.children("ul");e.css({position:"absolute",visibility:"hidden",display:"block",height:"auto"});var t=e[0].offsetHeight;e.css({position:"",visibility:"",display:"",height:""}),n.$evalAsync(function(){s.collapsed=!1,s.element.addClass("expanding"),i.animate(e,{display:"block",height:"0px"},{height:t+"px"},s.animateHeightClass).then(function(){e.css({height:""}),s.element.removeClass("expanding")}),a.$broadcast("msNavigation::collapse",s.node._path)})},s.getClass=function(){return s.node.class},s.isHidden=function(){if(angular.isDefined(s.node.hidden)&&angular.isFunction(s.node.hidden))return s.node.hidden();return!1},function(){s.hasChildren=0":t.user,c.create("Incoming call from: ",n,null,function(){t.answer(m.sessionConf)},function(){t.terminate()}).then(function(e){t.notification=e}).catch(function(e){console.error(e)}),v(e.session.user,!0),m.conf.autoAnswer&&o(function(){a.isInProgress()&&(a.autoAnswer=!0,m.conf.microphoneId?m.sessionConf.mediaConstraints.audio={deviceId:m.conf.microphoneId}:m.sessionConf.mediaConstraints.audio=!0,a.answer(m.sessionConf))},m.conf.autoAnswerDelay?1e3*m.conf.autoAnswerDelay:0)}a.call_id=e.request.call_id,a.connection&&(a.connection.onaddstream=f.bind(this)),a.on("progress",function(e,t){var n=!1;switch(t.originator){case"local":this.conf.ringingMute||(this.soundPlayer.setAttribute("src","assets/ms-phonebar/sounds/incoming-call.ogg"),n=!0);break;case"remote":this.putOtherCallsOnHold(e),this.soundPlayer.setAttribute("src","assets/ms-phonebar/sounds/outgoing-call.ogg"),n=!0}n&&(this.soundPlayer.loop="loop",this.soundPlayer.play().catch(function(e){console.log(e.message)}))}.bind(this,a)),a.on("confirmed",function(n,e){return n.confirmed=!0,"remote"===e.originator&&n.connection&&(n.connection.onaddstream=f.bind(this),_.head(n.connection.getRemoteStreams())&&(this.remotePlayer.srcObject=_.head(n.connection.getRemoteStreams()))),this.soundPlayer.pause(),this.soundPlayer.loop=null,this.putOtherCallsOnHold(n),g("speaker"),g("microphone"),n.autoAnswer&&(this.soundPlayer.setAttribute("src","assets/ms-phonebar/sounds/beep.ogg"),this.soundPlayer.play().catch(function(e){console.log(e.message)})),d.rpc.getVoiceChannels().$promise.then(function(e){var t=_.find(e.rows,function(e){return e.sipcalllinkedid===n.call_id?e:e.sipcalluniqueid===n.call_id?e:null});t&&(n.monitor=t.monitor,n.uniqueid=t.uniqueid,n.monitors=t.monitors)}).catch(function(e){console.error(e)})}.bind(this,a)),a.on("hold",function(e,t){"local"===t.originator&&(e.localHold=!0)}.bind(this,a)),a.on("unhold",function(e,t){"local"===t.originator&&(e.localHold=!1)}.bind(this,a)),a.on("ended",function(e,t){_.remove(this.sessions,{id:e.id})}.bind(this,a)),a.on("failed",function(e,t){this.soundPlayer.pause(),this.soundPlayer.loop=null,e.notification&&e.notification.close(),_.remove(this.sessions,{id:e.id})}.bind(this,a)),this.sessions.push(a)}function E(){m.target="",document.getElementById("ms-target").blur(),document.getElementById("ms-target").value="",i.$broadcast("angucomplete-alt:clearInput","ms-target-wrap")}function y(e,t,n,a){return function(){s.show(s.simple().textContent(t).position(n).hideDelay(a)),e.terminate()}}function S(t){return d.user.getVoicePrefixes({id:m.conf.id}).$promise.then(function(e){if(e.count)return a.show({controller:"PrefixDialogController",controllerAs:"vm",templateUrl:"assets/ms-phonebar/prefix/dialog.html",parent:angular.element(n.body),clickOutsideToClose:!0,locals:{prefixes:e,required:m.conf.phoneBarPrefixRequired}})}).then(function(e){if(m.conf.phoneBarPrefixRequired){if(e&&-1!==e)return e+t}else{if(e&&-1!==e)return e+t;if(!e)return t}})}e(function(){},999),m.direction="right",m.selectedMode="md-scale",m.target="",m.showDialpad=!1,m.soundPlayer=document.createElement("audio"),m.remotePlayer=document.getElementById(m.conf.remotePlayerId),m.soundPlayer.volume=1,m.sessionConf={mediaConstraints:{audio:!0,video:!1}},m.sessions=[],m.calls=[],m.ua=new JsSIP.UA({sockets:[new JsSIP.WebSocketInterface("wss://"+m.conf.host+":8089/ws")],uri:new JsSIP.URI("sip",m.conf.name,m.conf.host,5060,null,null).toString(),authorization_user:m.conf.name,ha1:m.conf.ha1,realm:m.conf.realm,user_agent:m.conf.ua,session_timers_refresh_method:"invite",register_expires:m.conf.phoneBarExpires||60,register:!0}),m.conf=_.merge(p.webrtc,m.conf),n.bind("keyup",function(e){switch(e.keyCode){case 27:o(function(){m.showDialpad=!1})}}),m.$onInit=function(){g("ringing"),g("speaker"),this.ua.on("registered",function(){console.log("registered"),this.registered=!0}.bind(this)),this.ua.on("unregistered",function(){console.log("unregistered"),this.registered=!1}.bind(this)),this.ua.on("newRTCSession",A.bind(this)),DetectRTC.load(function(){this.conf.hasMicrophone=DetectRTC.hasMicrophone,this.conf.hasSpeakers="Chrome"!==DetectRTC.browser.name&&"Edge"!==DetectRTC.browser.name&&"Opera"!==DetectRTC.browser.name||DetectRTC.hasSpeakers,this.conf.isWebRTCSupported=DetectRTC.isWebRTCSupported,this.conf.osName=DetectRTC.osName,this.conf.osVersion=DetectRTC.osVersion,this.conf.browserName=DetectRTC.browser.name,this.conf.browserVersion=DetectRTC.browser.version,h()?this.ua.start():this.conf.license||l.warning({title:r.instant("TOOLBAR.WARNING"),msg:r.instant("TOOLBAR.WEBRTC_LICENSE_NOT_ENABELD"),clickToClose:!0,showClose:!0,shake:!1,timeout:!1,position:"bottom-right"})}.bind(this))}.bind(this),m.type=function(e,t){var n=e;switch(m.target||(m.target=""),t&&(m.target+=e,i.$broadcast("angucomplete-alt:changeInput","ms-target-wrap",m.target)),e){case"*":n="asterisk";break;case"#":n="pound"}m.conf.enableDtmfTone&&(m.soundPlayer.setAttribute("src","assets/ms-phonebar/sounds/dialpad/"+n+".ogg"),m.soundPlayer.play().catch(function(e){console.log(e.message)}));for(var a=0;a');t.after(n),n.append(t)}}})}(),function(){"use strict";function e(o,s,t,n){return{restrict:"AE",compile:function(e){if(!(n.getConfig("disableCustomScrollbars")||n.getConfig("disableCustomScrollbarsOnMobile")&&t.isMobile()))return e.addClass("ms-scroll"),function(e,t,n){var a={};function i(){PerfectScrollbar.update(t[0])}n.msScroll&&(a=e.$eval(n.msScroll)),a=angular.extend({},s.getConfig(),a),o(function(){PerfectScrollbar.initialize(t[0],a)},0),t.on("mouseenter",i),e.$watch(function(){return t.prop("scrollHeight")},function(e,t){angular.isUndefined(e)||angular.equals(e,t)||i()}),e.$watch(function(){return t.prop("scrollWidth")},function(e,t){angular.isUndefined(e)||angular.equals(e,t)||i()}),e.$on("$destroy",function(){t.off("mouseenter"),PerfectScrollbar.destroy(t[0])})}}}}e.$inject=["$timeout","msScrollConfig","msUtils","motionConfig"],angular.module("app.core").provider("msScrollConfig",function(){var t={wheelSpeed:1,wheelPropagation:!1,swipePropagation:!0,minScrollbarLength:null,maxScrollbarLength:null,useBothWheelAxes:!1,useKeyboard:!0,suppressScrollX:!1,suppressScrollY:!1,scrollXMarginOffset:0,scrollYMarginOffset:0,stopPropagationOnClick:!0};this.config=function(e){t=angular.extend({},t,e)},this.$get=function(){var e={getConfig:function(){return t}};return e}}).directive("msScroll",e)}(),function(){"use strict";function e(o,i,e){var s=this;s.collapsed=!0,s.query="",s.queryOptions={debounce:s.debounce||0};var t=!(!s.collapseOnBlur||"true"!=s.collapseOnBlur);s.resultsLoading=!1,s.results=null,s.selectedResultIndex=0,s.ignoreMouseEvents=!1,s.populateResults=function(e){if(s.collapsed)return;var t=angular.isArray(e),n=null===e;if(!t&&!n)return;s.selectedResultIndex=0,s.results=e},s.expand=function(){s.collapsed=!1,o.expand(),s.onExpand&&angular.isFunction(s.onExpand)&&s.onExpand()},s.collapse=function(){s.query="",s.populateResults(null),s.collapsed=!0,o.collapse(),s.onCollapse&&angular.isFunction(s.onCollapse)&&s.onCollapse()},s.blurCollapse=function(){if(!t)return;s.collapse()},s.absorbEvent=function(e){e.preventDefault()},s.handleKeydown=function(e){var t=e.keyCode;-1<[27,38,40].indexOf(t)&&e.preventDefault();switch(t){case 13:if(!s.results)return;s.handleResultClick(s.results[s.selectedResultIndex]);break;case 27:s.collapse();break;case 38:0<=s.selectedResultIndex-1&&(s.selectedResultIndex--,s.ensureSelectedResultIsVisible());break;case 40:if(!s.results)return;s.selectedResultIndex+1n&&e.scrollTop(n),a>e.height()+e.scrollTop()&&e.scrollTop(a-e.height())}},o.$watch("MsSearchBar.query",function(e,t){if(!angular.isUndefined(e)&&!angular.equals(e,t)&&!s.collapsed){var n=o.$parent.$eval(s.onSearch,{query:e}),a=angular.isArray(n),i=n&&!!n.then;a&&s.populateResults(n),i&&(s.resultsLoading=!0,n.then(function(e){s.populateResults(e)},function(){s.populateResults([])}).finally(function(){s.resultsLoading=!1}))}})}function t(i){return{restrict:"E",scope:{},require:"msSearchBar",controller:"MsSearchBarController as MsSearchBar",bindToController:{debounce:"=?",onSearch:"@",onResultClick:"&?",onExpand:"&?",onCollapse:"&?",collapseOnBlur:"@"},templateUrl:"app/core/directives/ms-search-bar/ms-search-bar.html",compile:function(e){return e.addClass("ms-search-bar"),function(e,t){var n,a=i.find("body");e.collapse=function(){t.removeClass("expanded"),a.removeClass("ms-search-bar-expanded")},e.expand=function(){t.addClass("expanded"),a.addClass("ms-search-bar-expanded"),n.focus()},n=t.find("#ms-search-bar-input")}}}}e.$inject=["$scope","$element","$timeout"],t.$inject=["$document"],angular.module("app.core").controller("MsSearchBarController",e).directive("msSearchBar",t)}(),function(){"use strict";function e(e,n,i,s,r,l){var d=this;d.query="",d.queryOptions={debounce:300},d.resultsLoading=!1,d.selectedResultIndex=0,d.ignoreMouseEvents=!1,d.mobileBarActive=!1,d.results=null,d.shortcuts=[],d.sortableOptions={ghostClass:"ghost",forceFallback:!0,fallbackClass:"dragging",onSort:function(){d.saveShortcuts()}},d.populateResults=function(){for(var e=[],t=l.getFlatNavigation(),n=r.defer(),a=0;a=d.shortcuts.length&&(d.selectedResultIndex=d.shortcuts.length-1)));d.saveShortcuts()},d.handleResultClick=function(e){e.hasShortcut?d.removeShortcut(e):d.addShortcut(e)},d.absorbEvent=function(e){e.preventDefault()},d.handleKeydown=function(e){var t=e.keyCode;-1<[38,40].indexOf(t)&&e.preventDefault();switch(t){case 13:d.handleResultClick(d.results[d.selectedResultIndex]);break;case 38:0<=d.selectedResultIndex-1&&(d.selectedResultIndex--,d.ensureSelectedResultIsVisible());break;case 40:d.selectedResultIndex+1n&&e.scrollTop(n),a>e.height()+e.scrollTop()&&e.scrollTop(a-e.height())}},d.toggleMobileBar=function(){d.mobileBarActive=!d.mobileBarActive},d.loadShortcuts().then(function(e){d.shortcuts=e,0i.steps.length)}i.mainForm=void 0,i.orientation="horizontal",i.steps=[],i.currentStep=void 0,i.currentStepNumber=1,i.setOrientation=function(e){i.orientation=e||"horizontal"},i.registerMainForm=function(e){i.mainForm=e},i.registerStep=function(e,t,n){var a={element:e,scope:t,form:n,stepNumber:t.step||i.steps.length+1,stepTitle:t.stepTitle,stepTitleTranslate:t.stepTitleTranslate};return i.steps.push(a),i.steps.sort(function(e,t){return e.stepNumber-t.stepNumber}),a},i.setupSteps=function(){i.setCurrentStep(i.currentStepNumber)},i.resetForm=function(){e(function(){for(var e=0;ee.scrollWidth&&0==e.scrollLeft&&0==t.scrollLeft?"right":t.scrollWidth>e.scrollWidth&&t.scrollLeft>e.scrollLeft&&e.scrollWidth+t.scrollLeft>=t.scrollWidth?"left":t.scrollWidth>e.scrollWidth&&t.scrollLeft>e.scrollLeft&&e.scrollWidth+t.scrollLeftn.position().top+i&&(m(function(){s=!0}),r.off("scroll",c))}}}}}e.$inject=["$timeout","$q"],angular.module("app.core").controller("MsTimelineController",function(){var t=this;t.scrollEl=void 0,t.setScrollEl=function(e){t.scrollEl=e},t.getScrollEl=function(){return t.scrollEl}}).directive("msTimeline",function(){return{scope:{msTimeline:"=?",loadMore:"&?msTimelineLoadMore"},controller:"MsTimelineController",compile:function(e){return e.addClass("ms-timeline"),function(e,t,n,a){var i=angular.element('
');t.append(i);var o={scrollEl:"#content"};o=angular.extend(o,e.msTimeline,{});var s=angular.element(o.scrollEl);a.setScrollEl(s);var r=144;function l(){s.scrollTop()+s.height()+r>i.position().top&&(i.addClass("show"),c(),e.loadMore().then(function(){i.removeClass("show"),d()},function(){i.remove()}))}function d(){s.on("scroll",l)}function c(){s.off("scroll",l)}d(),e.$on("$destroy",function(){c()})}}}}).directive("msTimelineItem",e)}(),function(){"use strict";function e(a,e,t,n,i,o,s,r,l){function d(){a.timeoutId&&clearTimeout(a.timeoutId)}function c(){void 0!==s.startTime&&(a.millis=moment().diff(moment(a.startTime))),a.maxTimeUnit&&"day"!==a.maxTimeUnit?"second"===a.maxTimeUnit?(a.seconds=Math.floor(a.millis/1e3),a.minutes=0,a.hours=0,a.days=0,a.months=0,a.years=0):"minute"===a.maxTimeUnit?(a.seconds=Math.floor(a.millis/1e3%60),a.minutes=Math.floor(a.millis/6e4),a.hours=0,a.days=0,a.months=0,a.years=0):"hour"===a.maxTimeUnit?(a.seconds=Math.floor(a.millis/1e3%60),a.minutes=Math.floor(a.millis/6e4%60),a.hours=Math.floor(a.millis/36e5),a.days=0,a.months=0,a.years=0):"month"===a.maxTimeUnit?(a.seconds=Math.floor(a.millis/1e3%60),a.minutes=Math.floor(a.millis/6e4%60),a.hours=Math.floor(a.millis/36e5%24),a.days=Math.floor(a.millis/36e5/24%30),a.months=Math.floor(a.millis/36e5/24/30),a.years=0):"year"===a.maxTimeUnit&&(a.seconds=Math.floor(a.millis/1e3%60),a.minutes=Math.floor(a.millis/6e4%60),a.hours=Math.floor(a.millis/36e5%24),a.days=Math.floor(a.millis/36e5/24%30),a.months=Math.floor(a.millis/36e5/24/30%12),a.years=Math.floor(a.millis/36e5/24/365)):(a.seconds=Math.floor(a.millis/1e3%60),a.minutes=Math.floor(a.millis/6e4%60),a.hours=Math.floor(a.millis/36e5%24),a.days=Math.floor(a.millis/36e5/24),a.months=0,a.years=0),a.secondsS=1===a.seconds||0===a.seconds?"":"s",a.minutesS=1===a.minutes||0===a.minutes?"":"s",a.hoursS=1===a.hours||0===a.hours?"":"s",a.daysS=1===a.days||0===a.days?"":"s",a.monthsS=1===a.months||0===a.months?"":"s",a.yearsS=1===a.years||0===a.years?"":"s",a.sseconds=a.seconds<10?"0"+a.seconds:a.seconds,a.mminutes=a.minutes<10?"0"+a.minutes:a.minutes,a.hhours=a.hours<10?"0"+a.hours:a.hours,a.ddays=a.days<10?"0"+a.days:a.days,a.mmonths=a.months<10?"0"+a.months:a.months,a.yyears=a.years<10?"0"+a.years:a.years}"function"!=typeof String.prototype.trim&&(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}),a.autoStart=s.autoStart||s.autostart,0===r.html().trim().length?r.append(l("{{millis}}")(a)):r.append(l(r.contents())(a)),a.interval=a.intervalAttr||1e3,a.startTime=null,a.endTime=null,a.timeoutId=null,a.countdown=a.countdownAttr&&0<=parseInt(a.countdownAttr,10)?parseInt(a.countdownAttr,10):void 0,a.isRunning=!1,a.$watch("startTimeAttr",function(e,t){e!==t&&a.isRunning&&a.start()}),a.$on("timer-start",function(){a.start()}),a.$on("timer-resume",function(){a.resume()}),a.$on("timer-stop",function(){a.stop()}),a.$on("timer-clear",function(){a.clear()}),a.$on("timer-set-countdown",function(e,t){a.countdown=t}),a.start=r[0].start=function(){var e=moment(),t=a.startTimeAttr?moment(a.startTimeAttr):null;a.startTime=!t||er.properties.length){var t=r.multiBarChart.series.length-r.properties.length;r.multiBarChart.series.splice(0,t),r.multiBarChart.data.splice(0,t)}for(var n=0;nr.filter.length){var a=r.multiBarChart.labels.length-r.filter.length;r.multiBarChart.labels.splice(0,a),r.multiBarChart.data[n].splice(0,a)}for(var i=0,o=0;is.properties.length){var t=s.pieChart.labels.length-s.properties.length;s.pieChart.labels.splice(0,t),s.pieChart.data.splice(0,t)}for(var n=0,a=0;n]+>/gm,"")}}).filter("nospace",function(){return function(e){return e?e.replace(/ /g,""):""}}).filter("humanizeDoc",function(){return function(e){if(e)return"directive"===e.type?e.name.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()}):e.label||e.name}})}(),function(){"use strict";angular.module("app.core").filter("filterByIds",function(){return function(e,t){if(0===e.length||!t)return e;if(0===t.length)return[];for(var n=[],a=0;a')).html(i),o.append(s)})},rgba:l};function l(e,t){var n=t||!1;return 4===e.length&&255===e[0]&&255===e[1]&&255===e[2]&&e.splice(3,4),n&&(e=function(e,t){var n={white:{1:"1",2:"0.7",3:"0.3",4:"0.12"},black:{1:"0.87",2:"0.54",3:"0.26",4:"0.12"}};255===e[0]&&255===e[1]&&255===e[2]?e[3]=n.white[t]:0===e[0]&&0===e[1]&&0===e[2]&&(e[3]=n.black[t]);return e}(e,n)),3===e.length?"rgb("+e.join(",")+")":4===e.length?"rgba("+e.join(",")+")":void a.error("Invalid number of arguments supplied in the color array: "+e.length+"\nThe array must have 3 or 4 colors.")}function d(e){return e.charAt(0).toUpperCase()+e.slice(1)}}e.$inject=["$cookies","$log","motionTheming"],angular.module("app.core").factory("motionGenerator",e)}(),function(){"use strict";angular.module("app.core").constant("motionPalettes",[{name:"motion-blue",options:{50:"#ebf1fa",100:"#c2d4ef",200:"#9ab8e5",300:"#78a0dc",400:"#5688d3",500:"#3470ca",600:"#2e62b1",700:"#275498",800:"#21467e",900:"#1a3865",A100:"#c2d4ef",A200:"#9ab8e5",A400:"#5688d3",A700:"#275498",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 A100",contrastStrongLightColors:"300 400"}},{name:"motion-paleblue",options:{50:"#ececee",100:"#c5c6cb",200:"#9ea1a9",300:"#7d818c",400:"#5c616f",500:"#3c4252",600:"#353a48",700:"#2d323e",800:"#262933",900:"#1e2129",A100:"#c5c6cb",A200:"#9ea1a9",A400:"#5c616f",A700:"#2d323e",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 A100",contrastStrongLightColors:"300 400"}}])}(),function(){"use strict";angular.module("app.core").constant("motionThemes",{default:{primary:{name:"motion-paleblue",hues:{default:"700","hue-1":"500","hue-2":"600","hue-3":"400"}},accent:{name:"light-blue",hues:{default:"600","hue-1":"400","hue-2":"700","hue-3":"A100"}},warn:{name:"red"},background:{name:"grey",hues:{default:"A100","hue-1":"A100","hue-2":"100","hue-3":"300"}}},pinkTheme:{primary:{name:"blue-grey",hues:{default:"800","hue-1":"600","hue-2":"400","hue-3":"A100"}},accent:{name:"pink",hues:{default:"400","hue-1":"300","hue-2":"600","hue-3":"A100"}},warn:{name:"blue"},background:{name:"grey",hues:{default:"A100","hue-1":"A100","hue-2":"100","hue-3":"300"}}},tealTheme:{primary:{name:"motion-blue",hues:{default:"900","hue-1":"600","hue-2":"500","hue-3":"A100"}},accent:{name:"teal",hues:{default:"500","hue-1":"400","hue-2":"600","hue-3":"A100"}},warn:{name:"deep-orange"},background:{name:"grey",hues:{default:"A100","hue-1":"A100","hue-2":"100","hue-3":"300"}}}})}(),function(){"use strict";function e(n,e,t){var a;angular.injector(["ngCookies"]).invoke(["$cookies",function(e){a=e}]);var i=a.getObject("motion.customTheme");i&&(t.custom=i),n.alwaysWatchTheme(!0),angular.forEach(e,function(e){n.definePalette(e.name,e.options)}),angular.forEach(t,function(e,t){n.theme(t).primaryPalette(e.primary.name,e.primary.hues).accentPalette(e.accent.name,e.accent.hues).warnPalette(e.warn.name,e.warn.hues).backgroundPalette(e.background.name,e.background.hues)})}e.$inject=["$mdThemingProvider","motionPalettes","motionThemes"],angular.module("app.core").config(e)}(),function(){"use strict";function e(t,n,e){var a={getRegisteredPalettes:function(){return e.PALETTES},getRegisteredThemes:function(){return e.THEMES},setActiveTheme:function(e){if(angular.isUndefined(a.themes.list[e]))return angular.isUndefined(a.themes.list.default)?void n.error('You must have at least one theme named "default"'):(n.warn('The theme "'+e+'" does not exist! Falling back to the "default" theme.'),a.themes.active.name="default",a.themes.active.theme=a.themes.list.default,void t.put("motion.selectedTheme",a.themes.active.name));a.themes.active.name=e,a.themes.active.theme=a.themes.list[e],t.put("motion.selectedTheme",e)},setThemesList:function(e){a.themes.list=e},themes:{list:{},active:{name:"",theme:{}}}};return a}e.$inject=["$cookies","$log","$mdTheming"],angular.module("app.core").service("motionTheming",e)}(),function(){"use strict";function e(t,o,s,r){this.search=function(t){for(var e=[],n=r.getFlatNavigation(),a=s.defer(),i=0;i"+(e.name||"extractedReport")+"
will be deleted.").ariaLabel("delete extractedReport").targetEvent(t).ok("OK").cancel("CANCEL");i.show(n).then(function(){A(e)},function(){console.log("CANCEL")})},v.success=f,v.getExtractedReports=function(){v.query.offset=(v.query.page-1)*v.query.limit,v.promise=l.analyticExtractedReport.get(v.query,f).$promise},v.createOrEditExtractedReport=function(e,t){i.show({controller:"CreateOrEditExtractedReportDialogController",controllerAs:"vm",templateUrl:"app/main/apps/analytics/views/extractedReports/create/dialog.html",parent:angular.element(o.body),targetEvent:e,clickOutsideToClose:!0,locals:{extractedReport:t,extractedReports:v.extractedReports.rows,license:v.license,setting:v.setting}})},v.deleteExtractedReport=A,v.exportSelectedExtractedReports=function(){var e=angular.copy(v.selectedExtractedReports);return v.selectedExtractedReports=[],e},v.deleteSelectedExtractedReports=function(e){var t=i.confirm().title("Are you sure want to delete the selected extractedReports?").htmlContent(""+v.selectedExtractedReports.length+" selected will be deleted.").ariaLabel("delete ExtractedReports").targetEvent(e).ok("OK").cancel("CANCEL");i.show(t).then(function(){v.selectedExtractedReports.forEach(function(e){A(e)}),v.selectedExtractedReports=[]})},v.deselectExtractedReports=function(){v.selectedExtractedReports=[]},v.selectAllExtractedReports=function(){v.selectedExtractedReports=v.extractedReports.rows};var h=!0,b=1;function f(e){v.extractedReports=e||{count:0,rows:[]}}function A(e){l.analyticExtractedReport.delete({id:e.id}).$promise.then(function(){_.remove(v.extractedReports.rows,{id:e.id}),v.extractedReports.count-=1,v.extractedReports.rows.length||v.getExtractedReports(),c.success({title:"ExtractedReport deleted!",msg:e.name?e.name+" has been deleted!":""})}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length){v.errors=e.data.errors||[{message:e.toString(),type:"SYSTEM:DELETEanalyticExtractedReport"}];for(var t=0;t"+(e.name||"metric")+" will be deleted.").ariaLabel("delete metric").targetEvent(t).ok("OK").cancel("CANCEL");i.show(n).then(function(){A(e)},function(){console.log("CANCEL")})},v.success=f,v.getMetrics=function(){v.query.offset=(v.query.page-1)*v.query.limit,v.promise=l.analyticMetric.get(v.query,f).$promise},v.createOrEditMetric=function(e,t){i.show({controller:"CreateOrEditMetricDialogController",controllerAs:"vm",templateUrl:"app/main/apps/analytics/views/metrics/create/dialog.html",parent:angular.element(o.body),targetEvent:e,clickOutsideToClose:!0,locals:{metric:t,metrics:v.metrics.rows,license:v.license,setting:v.setting}})},v.deleteMetric=A,v.exportSelectedMetrics=function(){var e=angular.copy(v.selectedMetrics);return v.selectedMetrics=[],e},v.deleteSelectedMetrics=function(e){var t=i.confirm().title("Are you sure want to delete the selected metrics?").htmlContent(""+v.selectedMetrics.length+" selected will be deleted.").ariaLabel("delete Metrics").targetEvent(e).ok("OK").cancel("CANCEL");i.show(t).then(function(){v.selectedMetrics.forEach(function(e){A(e)}),v.selectedMetrics=[]})},v.deselectMetrics=function(){v.selectedMetrics=[]},v.selectAllMetrics=function(){v.selectedMetrics=v.metrics.rows};var h=!0,b=1;function f(e){v.metrics=e||{count:0,rows:[]}}function A(e){l.analyticMetric.delete({id:e.id}).$promise.then(function(){_.remove(v.metrics.rows,{id:e.id}),v.metrics.count-=1,v.metrics.rows.length||v.getMetrics(),c.success({title:"Metric deleted!",msg:e.name?e.name+" has been deleted!":""})}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length){v.errors=e.data.errors||[{message:e.toString(),type:"SYSTEM:DELETEanalyticMetric"}];for(var t=0;t"+e.field+" will be deleted.").ariaLabel("delete field").targetEvent(t).ok("OK").cancel("CANCEL");a.show(n).then(function(){p(e)},function(){console.log("CANCEL")})},c.success=u,c.getReportFields=function(){c.promise=s.analyticFieldReport.get(c.query,u).$promise},c.createOrEditReportField=function(e,t){a.show({controller:"CreateOrEditReportFieldDialogController",controllerAs:"vm",templateUrl:"app/main/apps/analytics/views/reports/edit/field/dialog.html",parent:angular.element(i.body),targetEvent:e,clickOutsideToClose:!0,locals:{report:c.report,reportField:t,reportFields:c.reportFields.rows,metrics:c.metrics,columns:c.columns,setting:null}})},c.deleteReportField=p,c.deleteSelectedReportFields=function(e){var t=a.confirm().title("Are you sure want to delete the selected fields?").htmlContent(""+c.selectedReportFields.length+" selected will be deleted.").ariaLabel("delete fields").targetEvent(e).ok("OK").cancel("CANCEL");a.show(t).then(function(){c.selectedReportFields.forEach(function(e){p(e)}),c.selectedReportFields=[]})},c.getMetricName=function(e){var t=_.find(c.metrics,{id:e});return t?t.name:d.instant("ANALYTICS.NO_METRIC_FOUND")},c.getMetricValue=function(e){var t=_.find(c.metrics,{id:e});return t?t.metric:d.instant("ANALYTICS.NO_METRIC_FOUND")};var m=!0;function u(e){c.reportFields=e||{count:0,rows:[]}}function p(e){s.analyticFieldReport.delete({id:e.id}).$promise.then(function(){c.selectedReportFields=[],_.remove(c.reportFields.rows,{id:e.id}),c.reportFields.count-=1,c.reportFields.rows.length||c.getReportFields(),o.success({title:"Field deleted!",msg:e.field?e.field+" has been deleted!":""})}).catch(function(e){o.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:DELETEFIELD",msg:e.data?JSON.stringify(e.data):e.toString()})})}t.$watch("vm_rf.query.filter",function(e,t){m?n(function(){m=!1}):c.getReportFields()})}e.$inject=["$cookies","$scope","$timeout","$mdDialog","$document","toasty","api","describeTable","sqlUtil","$translate"],angular.module("app.analytics").controller("ReportFieldsController",e)}(),function(){"use strict";angular.module("app.analytics").factory("sqlUtil",function(){return{getFunctions:[{value:"SUM",option:function(e){return"SUM ("+e+")"}},{value:"COUNT",option:function(e){return"COUNT ("+e+")"}},{value:"COUNT DISTINCT",option:function(e){return"COUNT (DISTINCT "+e+")"}},{value:"MAX",option:function(e){return"MAX ("+e+")"}},{value:"MIN",option:function(e){return"MIN ("+e+")"}},{value:"AVG",option:function(e){return"AVG ("+e+")"}},{value:"GROUP_CONCAT",option:function(e){return"GROUP_CONCAT ("+e+")"}},{value:"GROUP_CONCAT ASC",option:function(e){return"GROUP_CONCAT ("+e+" ORDER BY "+e+" ASC)"}},{value:"GROUP_CONCAT DESC",option:function(e){return"GROUP_CONCAT ("+e+" ORDER BY "+e+" DESC)"}}],getFormats:[{value:"SEC_TO_TIME",option:function(e){return"SEC_TO_TIME ("+e+")"}},{value:"DATE",option:function(e){return"DATE ("+e+")"}},{value:"HOUR",option:function(e){return"HOUR ("+e+")"}},{value:"ROUND",option:function(e){return"ROUND ("+e+")"}},{value:"UNIX_TIMESTAMP",option:function(e){return"UNIX_TIMESTAMP ("+e+")"}}],getGroupBy:[{value:!1,option:function(){return"No"}},{value:!0,option:function(e){return"GROUP BY "+e}}],getOrderBy:[{value:"ASC",option:function(e){return"ORDER BY "+e+" ASC"}},{value:"DESC",option:function(e){return"ORDER BY "+e+" DESC"}}],getConditions:["=","!=","<","<=",">",">=","LIKE","NOT LIKE","IS NULL","IS NOT NULL","IS EMPTY","IS NOT EMPTY"]}})}(),function(){"use strict";function e(e,t,n,a){var i=this;function o(e){return _.isArray(e)}i.report=a||{},i.selectedTab=e.params.tab||0,i.gotoReports=function(){e.go("app.analytics.reports")},i.saveReport=function(){i.report.conditions=angular.toJson(i.report.condition),n.analyticCustomReport.update({id:i.report.id},_.omit(i.report,"joins")).$promise.then(function(){t.success({title:"Report updated!",msg:i.report.name?i.report.name+" has been updated!":""})}).catch(function(e){t.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:GETreport",msg:e.data?JSON.stringify(e.data):e.toString()})})},i.previewReport=function(){i.columns=[],i.rows=[],i.error=!1,n.analyticFieldReport.get({fields:"field,alias",nolimit:!0,CustomReportId:i.report.id}).$promise.then(function(e){return i.columns=e?e.rows:[],n.analyticCustomReport.preview({id:i.report.id}).$promise}).then(function(e){i.rows=e}).catch(function(e){console.log(e),i.error={title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:analyticFieldReport",msg:e.data?e.data.message:e.toString(),sql:e.data&&e.data.parent?e.data.parent.sql:"NO QUERY"},t.error(i.error)})},i.queryReport=function(){return i.queryResult="Loading...",n.analyticCustomReport.query({id:i.report.id}).$promise.then(function(e){i.queryResult=e.sql}).catch(function(e){i.queryResult="",console.log(e),i.error={title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:analyticFieldReport",msg:e.data?e.data.message:e.toString(),sql:e.data&&e.data.parent?e.data.parent.sql:"NO QUERY"},t.error(i.error)})},i.mapArray=function(e,t){if(o(e))return _.map(e,t).join(",");return""},i.isArray=o,i.valueReplacer=function(e,t){moment(t,"YYYY-MM-DDTHH:mm:ssZ",!0).isValid()&&(t=moment(t,"").format("YYYY-MM-DD HH:mm:ss"));return t}}e.$inject=["$state","toasty","api","report"],angular.module("app.analytics").controller("ReportController",e)}(),function(){"use strict";function e(e,t,n,a,i,o){var s=this;s.errors=[],s.report=angular.copy(a),s.valueReplacer=function(e,t){moment(t,"YYYY-MM-DDTHH:mm:ssZ",!0).isValid()&&(t=moment(t,"").format("YYYY-MM-DD HH:mm:ss"));return t},s.closeDialog=function(){t.hide()},function(){s.columns=[],s.rows=[],s.error=!1;var e={fields:"field,alias",nolimit:!0};e["analyticCustomReport"===o?"CustomReportId":"DefaultReportId"]=s.report.id,s.promise=i.analyticFieldReport.get(e).$promise.then(function(e){return s.columns=e?e.rows:[],i[o].preview({id:s.report.id}).$promise}).then(function(e){s.rows=e}).catch(function(e){console.log(e),s.error={title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:analyticFieldReport",msg:e.data?e.data.message:e.toString(),sql:e.data&&e.data.parent?e.data.parent.sql:"NO QUERY"},n.error(s.error)})}()}e.$inject=["$location","$mdDialog","toasty","report","api","apiName"],angular.module("app.analytics").controller("PreviewReportDialogController",e)}(),function(){"use strict";function e(e,n,a,i,o,s,t,r,l,d,c){var m=this;m.currentUser=c.getCurrentUser(),m.reports={count:0,rows:[]},m.selectedReports=[],m.query={fields:"createdAt,updatedAt,id,name,description,table,parent,conditions,joins",limit:10,page:1,sort:"-updatedAt"},m.apiName=null,m.currentPath="",m.customTree=!0,m.editstate=function(e,t){o.go("app.analytics.reports.edit",{id:e.id})},m.copydialog=function(e,t){i.show({controller:"CopyReportDialogController",controllerAs:"vm",templateUrl:"app/main/apps/analytics/views/reports/copy/dialog.html",parent:angular.element(a.body),targetEvent:t,clickOutsideToClose:!0,locals:{report:e,apiName:m.apiName,treeCustomData:m.treeCustomInstance.jstree(!0).get_json("#")}}).finally(function(){})},m.previewdialog=function(e,t){i.show({controller:"PreviewReportDialogController",controllerAs:"vm",templateUrl:"app/main/apps/analytics/views/reports/preview/dialog.html",parent:angular.element(a.body),targetEvent:t,clickOutsideToClose:!0,locals:{report:e,apiName:m.apiName}})},m.rundialog=function(e,t){i.show({controller:"RunReportDialogController",controllerAs:"vm",templateUrl:"app/main/apps/analytics/views/reports/run/dialog.html",parent:angular.element(a.body),targetEvent:t,clickOutsideToClose:!0,locals:{report:e,apiName:m.apiName,currentPath:m.currentPath}})},m.downloadfile=function(a,e){var i;r.analyticMetric.get({fields:"id,name,metric,table",nolimit:!0}).$promise.then(function(e){i=_.keyBy(e.rows,"id");var t={fields:"field,alias,function,format,groupBy,orderBy,custom,MetricId",nolimit:!0};return t["analyticCustomReport"===m.apiName?"CustomReportId":"DefaultReportId"]=a.id,r.analyticFieldReport.get(t).$promise}).then(function(e){for(var t=0;t"+e.name+" will be deleted.").ariaLabel("delete report").targetEvent(t).ok("OK").cancel("CANCEL");i.show(n).then(function(){h(e)},function(){console.log("CANCEL")})},m.success=g,m.getReports=v,m.createOrEditReport=function(e,t){i.show({controller:"CreateOrEditReportDialogController",controllerAs:"vm",templateUrl:"app/main/apps/analytics/views/reports/create/dialog.html",parent:angular.element(a.body),targetEvent:e,clickOutsideToClose:!0,locals:{report:t,reports:m.reports.rows,apiName:m.apiName,currentNode:m.currentNode,setting:null}})},m.importReport=function(e,t,n){if("application/json"===e.file.type){var a=new FileReader;a.onload=function(e){console.log(e.target.result);try{var n=atob(e.target.result.split(",")[1]);n=angular.fromJson(n),r.analyticCustomReport.save({name:n.name,description:n.description,table:n.table,conditions:n.conditions,joins:n.joins,parent:m.currentNode.id}).$promise.then(function(t){m.reports.rows.unshift(t),d.success({title:"Report saved!",msg:t.name?t.name+" has been saved!":""});var e=_.map(n.fields,function(e){return _.extend({},e,{CustomReportId:t.id})});return r.analyticFieldReport.bulkCreate(e).$promise}).then(function(e){d.success({title:"Fields saved!",msg:"Fields has been saved!"})}).catch(function(e){d.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:GETanalyticReport",msg:e.data?JSON.stringify(e.data):e.toString()})})}catch(e){console.error(e),d.error({title:"Decode File Error",msg:e.toString()})}},a.readAsDataURL(e.file)}else d.error({title:"Format Error",msg:"Please use only json files"})},m.deleteReport=h,m.exportSelectedReports=function(){var e=angular.copy(m.selectedReports);return m.selectedReports=[],e},m.deleteSelectedReports=function(e){var t=i.confirm().title("Are you sure want to delete the selected reports?").htmlContent(""+m.selectedReports.length+" selected will be deleted.").ariaLabel("delete Reports").targetEvent(e).ok("OK").cancel("CANCEL");i.show(t).then(function(){m.selectedReports.forEach(function(e){h(e)}),m.selectedReports=[]})},m.deselectReports=function(){m.selectedReports=[]},m.selectAllReports=function(){m.selectedReports=m.reports.rows},m.treeDefaultData=l.rows[0]?angular.fromJson(l.rows[0].tree):[],m.treeCustomData=l.rows[1]?angular.fromJson(l.rows[1].tree):[],m.treeDefaultConfig=E(!1),m.treeCustomConfig=E(!0),m.treeDefaultEvents=y(!1),m.treeCustomEvents=y(!0);var u=!0,p=1;function g(e){m.reports=e||{count:0,rows:[]}}function v(){m.query.offset=(m.query.page-1)*m.query.limit,m.apiName&&(m.promise=r[m.apiName].get(m.query,g).$promise)}function h(e){m.apiName&&r[m.apiName].delete({id:e.id}).$promise.then(function(){_.remove(m.reports.rows,{id:e.id}),m.reports.count-=1,m.reports.rows.length||m.getReports(),d.success({title:"Report deleted!",msg:e.name?e.name+" has been deleted!":""})}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length){m.errors=e.data.errors||[{message:e.toString(),type:"api.analyticreport.delete"}];for(var t=0;t"+(n.text?n.text:"Node")+" and its subnode will be deleted.").ariaLabel("delete node").ok("OK").cancel("CANCEL");i.show(e).then(function(){var e,t=m.treeCustomInstance.jstree(!0).get_parent(n);t=m.treeCustomInstance.jstree(!0).get_node(t),m.treeCustomInstance.jstree(!0).delete_node(n),e=[n.id].concat(n.children_d||[]),r.analyticCustomReport.get({parent:e.join(","),fields:"id,name"}).$promise.then(function(e){e&&e.rows&&e.rows.forEach(function(e){h(e)})}).catch(function(e){d.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:DELETEreportsByParents",msg:e.data?JSON.stringify(e.data):e.toString()})}),m.treeCustomInstance.jstree(!0).select_node(t)})}}}}}}}function y(e){return e?{create_node:A,rename_node:A,move_node:A,delete_node:A,select_node:b}:{select_node:f}}e.$watch("vm.query.filter",function(e,t){u?n(function(){u=!1}):(t||(p=m.query.page),e!==t&&(m.query.page=1),e||(m.query.page=p),m.getReports())}),e.$watch("vm.search",function(e,t){m.treeDefaultInstance&&m.treeDefaultInstance.jstree(!0).search(e),m.treeCustomInstance&&m.treeCustomInstance.jstree(!0).search(e)})}e.$inject=["$scope","$timeout","$document","$mdDialog","$state","$window","$translate","api","treeReports","toasty","Auth"],angular.module("app.analytics").controller("ReportsController",e)}(),function(){"use strict";function e(e,n,a,t,i,o,s,r){var l=this;function d(){l.export={id:l.report.id,name:l.report.name,startDate:new Date(moment().startOf("day")),endDate:new Date(moment().endOf("day")),output:"xlsx",fullPath:r?r+"/"+l.report.name:l.report.name}}function c(){n.hide()}l.errors=[],l.report=angular.copy(t),l.export={},l.runReport=function(t){l.errors=[],l.exportDate=_.assign({},l.export,{startDate:moment(l.export.startDate).format("YYYY-MM-DD HH:mm:ss"),endDate:moment(l.export.endDate).format("YYYY-MM-DD HH:mm:ss")}),i[o].run(l.exportDate).$promise.then(function(e){"web"===l.export.output?n.show({controller:"WebReportDialogController",controllerAs:"vm",templateUrl:"app/main/apps/analytics/views/reports/run/web/dialog.html",parent:angular.element(s.body),targetEvent:t,skipHide:!0,locals:{apiName:o,exportDate:l.exportDate,results:e},resolve:{columns:["apiResolver",function(e){var t={fields:"field,alias",nolimit:!0};return t["analyticCustomReport"===o?"CustomReportId":"DefaultReportId"]=l.report.id,e.resolve("analyticFieldReport@get",t)}]}}):(a.success({title:"Report properly run!",msg:l.report.name?l.report.name+" has been run!":""}),c())}).catch(function(e){a.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:DESCRIBE",msg:e.data?JSON.stringify(e.data.message):e.toString()})})},l.closeDialog=c,(l.refreshDate=d)()}e.$inject=["$location","$mdDialog","toasty","report","api","apiName","$document","currentPath"],angular.module("app.analytics").controller("RunReportDialogController",e)}(),function(){"use strict";function e(e,t,n,a,i,o,s){var r=this;function l(e){r.results=e||{count:0,rows:[]}}r.errors=[],r.columns=a?a.rows:[],r.results=i||{rows:[],count:0},r.query={limit:10,page:1},r.closeDialog=function(){e.hide()},r.getResults=function(){s.offset=(r.query.page-1)*r.query.limit,s.limit=r.query.limit,r.promise=n[o].run(s,l).$promise},r.valueReplacer=function(e,t){moment(t,"YYYY-MM-DDTHH:mm:ssZ",!0).isValid()&&(t=moment(t,"").format("YYYY-MM-DD HH:mm:ss"));return t}}e.$inject=["$mdDialog","toasty","api","columns","results","apiName","exportDate"],angular.module("app.analytics").controller("WebReportDialogController",e)}(),function(){"use strict";function e(e,t,n,a,i,o,s,r,l,d,c,m){var u=this;function p(e){a.hide(e)}u.errors=[],u.setting=m,u.license=c,u.passwordPattern=u.setting&&u.setting.securePassword?/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/:"",u.title="CALLYSQUARE.EDIT_ODBC",u.odbc=angular.copy(r),u.odbcs=s,u.newOdbc=!1,u.odbc||(u.odbc={},u.title="CALLYSQUARE.NEW_ODBC",u.newOdbc=!0),u.addNewOdbc=function(){u.errors=[],l.squareOdbc.save(u.odbc).$promise.then(function(e){u.odbcs.unshift(e.toJSON()),o.success({title:"Odbc properly created",msg:u.odbc.name?u.odbc.name+" has been created!":""}),p(e)}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length){u.errors=e.data.errors||[{message:e.toString(),type:"api.squareOdbc.save"}];for(var t=0;t"+(e.name||"odbc")+" will be deleted.").ariaLabel("delete odbc").targetEvent(t).ok("OK").cancel("CANCEL");i.show(n).then(function(){A(e)},function(){console.log("CANCEL")})},v.success=f,v.getODBC=function(){v.query.offset=(v.query.page-1)*v.query.limit,v.promise=l.squareOdbc.get(v.query,f).$promise},v.createOrEditOdbc=function(e,t){i.show({controller:"CreateOrEditOdbcDialogController",controllerAs:"vm",templateUrl:"app/main/apps/callysquare/views/odbcs/create/dialog.html",parent:angular.element(o.body),targetEvent:e,clickOutsideToClose:!0,locals:{odbc:t,odbcs:v.odbcs.rows,license:v.license,setting:v.setting}})},v.deleteOdbc=A,v.exportSelectedODBC=function(){var e=angular.copy(v.selectedODBC);return v.selectedODBC=[],e},v.deleteSelectedODBC=function(e){var t=i.confirm().title("Are you sure want to delete the selected odbcs?").htmlContent(""+v.selectedODBC.length+" selected will be deleted.").ariaLabel("delete Odbcs").targetEvent(e).ok("OK").cancel("CANCEL");i.show(t).then(function(){v.selectedODBC.forEach(function(e){A(e)}),v.selectedODBC=[]})},v.deselectODBC=function(){v.selectedODBC=[]},v.selectAllODBC=function(){v.selectedODBC=v.odbcs.rows};var h=!0,b=1;function f(e){v.odbcs=e||{count:0,rows:[]}}function A(e){l.squareOdbc.delete({id:e.id}).$promise.then(function(){_.remove(v.odbcs.rows,{id:e.id}),v.odbcs.count-=1,v.odbcs.rows.length||v.getODBC(),c.success({title:"Odbc deleted!",msg:e.name?e.name+" has been deleted!":""})}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length){v.errors=e.data.errors||[{message:e.toString(),type:"SYSTEM:DELETEsquareOdbc"}];for(var t=0;t"+e.name+" will be deleted.").ariaLabel("delete project").targetEvent(t).ok("OK").cancel("CANCEL");s.show(n).then(function(){v(e)},function(){console.log("CANCEL")})},m.success=g,m.getProjects=function(){m.query.offset=(m.query.page-1)*m.query.limit,m.promise=i.squareProject.get(m.query,g).$promise},m.createOrEditProject=function(e,t){s.show({controller:"CreateOrEditSquareProjectDialogController",controllerAs:"vm",templateUrl:"app/main/apps/callysquare/views/projects/create/dialog.html",parent:angular.element(r.body),targetEvent:e,clickOutsideToClose:!0,locals:{project:t,projects:m.projects.rows,openFromEditor:null,setting:null}})},m.deleteProject=v,m.exportSelectedProjects=function(){var e=angular.copy(m.selectedProjects);return m.selectedProjects=[],e},m.deleteSelectedProjects=function(e){var t=s.confirm().title("Are you sure want to delete the selected projects?").htmlContent(""+m.selectedProjects.length+" selected will be deleted.").ariaLabel("delete Projects").targetEvent(e).ok("OK").cancel("CANCEL");s.show(t).then(function(){m.selectedProjects.forEach(function(e){v(e)}),m.selectedProjects=[]})},m.deselectProjects=function(){m.selectedProjects=[]},m.selectAllProjects=function(){m.selectedProjects=m.projects.rows},m.managePermissions=function(e,t){s.show({controller:"ProjectspermissionaddController",controllerAs:"vm",templateUrl:"app/main/apps/callysquare/views/projects/edit/permissionadd/permissionadd.html",parent:angular.element(r.body),targetEvent:t,clickOutsideToClose:!0,locals:{project:e,projects:m.projects?m.projects.rows:[]}})};var u=!0,p=1;function g(e){m.projects=e||{count:0,rows:[]}}function v(e){i.squareProject.delete({id:e.id}).$promise.then(function(){_.remove(m.projects.rows,{id:e.id}),m.projects.count-=1,m.projects.rows.length||m.getProjects(),d.success({title:"Project deleted!",msg:e.name?e.name+" has been deleted!":""})}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length){m.errors=e.data.errors||[{message:e.toString(),type:"api.project.delete"}];for(var t=0;t"+(e.name||"squareRecording")+" will be deleted.").ariaLabel("delete squareRecording").targetEvent(t).ok("OK").cancel("CANCEL");i.show(n).then(function(){A(e)},function(){console.log("CANCEL")})},v.success=f,v.getSquareRecordings=function(){v.query.offset=(v.query.page-1)*v.query.limit,v.promise=l.squareRecording.get(v.query,f).$promise},v.createOrEditSquareRecording=function(e,t){i.show({controller:"CreateOrEditSquareRecordingDialogController",controllerAs:"vm",templateUrl:"app/main/apps/callysquare/views/squareRecordings/create/dialog.html",parent:angular.element(o.body),targetEvent:e,clickOutsideToClose:!0,locals:{squareRecording:t,squareRecordings:v.squareRecordings.rows,license:v.license,setting:v.setting}})},v.deleteSquareRecording=A,v.exportSelectedSquareRecordings=function(){var e=angular.copy(v.selectedSquareRecordings);return v.selectedSquareRecordings=[],e},v.deleteSelectedSquareRecordings=function(e){var t=i.confirm().title("Are you sure want to delete the selected squareRecordings?").htmlContent(""+v.selectedSquareRecordings.length+" selected will be deleted.").ariaLabel("delete SquareRecordings").targetEvent(e).ok("OK").cancel("CANCEL");i.show(t).then(function(){v.selectedSquareRecordings.forEach(function(e){A(e)}),v.selectedSquareRecordings=[]})},v.deselectSquareRecordings=function(){v.selectedSquareRecordings=[]},v.selectAllSquareRecordings=function(){v.selectedSquareRecordings=v.squareRecordings.rows};var h=!0,b=1;function f(e){v.squareRecordings=e||{count:0,rows:[]}}function A(e){l.squareRecording.delete({id:e.id}).$promise.then(function(){_.remove(v.squareRecordings.rows,{id:e.id}),v.squareRecordings.count-=1,v.squareRecordings.rows.length||v.getSquareRecordings(),c.success({title:"SquareRecording deleted!",msg:e.name?e.name+" has been deleted!":""})}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length){v.errors=e.data.errors||[{message:e.toString(),type:"SYSTEM:DELETEsquareRecording"}];for(var t=0;t"+(e.name||"chatQueue")+" will be deleted.").ariaLabel("delete chatQueue").targetEvent(t).ok("OK").cancel("CANCEL");i.show(n).then(function(){A(e)},function(){console.log("CANCEL")})},v.gotorealtimegoto=function(e,t){n.go("app.chat.realtime.queues",{})},v.success=f,v.getChatQueues=function(){v.query.offset=(v.query.page-1)*v.query.limit,v.promise=l.chatQueue.get(v.query,f).$promise},v.createOrEditChatQueue=function(e,t){i.show({controller:"CreateOrEditChatQueueDialogController",controllerAs:"vm",templateUrl:"app/main/apps/chat/views/chatQueues/create/dialog.html",parent:angular.element(o.body),targetEvent:e,clickOutsideToClose:!0,locals:{chatQueue:t,chatQueues:v.chatQueues.rows,license:v.license,setting:v.setting}})},v.deleteChatQueue=A,v.exportSelectedChatQueues=function(){var e=angular.copy(v.selectedChatQueues);return v.selectedChatQueues=[],e},v.deleteSelectedChatQueues=function(e){var t=i.confirm().title("Are you sure want to delete the selected chatQueues?").htmlContent(""+v.selectedChatQueues.length+" selected will be deleted.").ariaLabel("delete ChatQueues").targetEvent(e).ok("OK").cancel("CANCEL");i.show(t).then(function(){v.selectedChatQueues.forEach(function(e){A(e)}),v.selectedChatQueues=[]})},v.deselectChatQueues=function(){v.selectedChatQueues=[]},v.selectAllChatQueues=function(){v.selectedChatQueues=v.chatQueues.rows};var h=!0,b=1;function f(e){v.chatQueues=e||{count:0,rows:[]}}function A(e){l.chatQueue.delete({id:e.id}).$promise.then(function(){_.remove(v.chatQueues.rows,{id:e.id}),v.chatQueues.count-=1,v.chatQueues.rows.length||v.getChatQueues(),c.success({title:"ChatQueue deleted!",msg:e.name?e.name+" has been deleted!":""})}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length){v.errors=e.data.errors||[{message:e.toString(),type:"SYSTEM:DELETEchatQueue"}];for(var t=0;t":"",e}):[]:l.selectedItems=e.rows?_.map(e.rows,function(e){return e.penalty=e.UserChatQueue?"penalty "+e.UserChatQueue.penalty:"",e.internal=e.hasOwnProperty("internal")?"<"+e.internal+">":"",e}):[],l.dualMultiselectOptions.selectedItems=l.selectedItems,r.hasRole("admin")?a.user.get({fields:"id,name,internal,fullname",nolimit:!0,role:"agent"}).$promise:a.user.getAgents({id:r.getCurrentUser().id,fields:"id,name,internal,fullname",nolimit:!0,role:"agent"}).$promise}).then(function(e){l.items=e.rows?_.map(e.rows,function(e){return e.penalty=e.UserChatQueue?"penalty "+e.UserChatQueue.penalty:"",e.internal=e.internal?"<"+e.internal+">":"",e}):[],l.dualMultiselectOptions.items=_.differenceBy(l.items,l.selectedItems,"id")}).catch(function(e){n.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:GETUSERS.GETAGENTS",msg:e.status?JSON.stringify(e.data):e.toString()})})}l.chatQueue=t,l.penalty=0,l.items=[],l.selectedItems=[],l.closeDialog=function(){e.hide()},l.isVoiceRealtime=function(){return o},l.dualMultiselectOptions={items:[],selectedItems:[],showSelectAndDeselectAll:!o,orderBy:"name",line1:"fullname",line2:["name","internal"],line3:"penalty",labelAll:s.instant("CHAT.ALL_AGENTS"),labelSelected:s.instant("CHAT.SELECTED_AGENTS"),transferCallback:function(e,t){a.chatQueue[t?"removeAgents":"addAgents"]({id:l.chatQueue.id,ids:_.map(e,l.isVoiceRealtime()&&t?"UserId":"id"),penalty:l.penalty||0,realtime:o||!1}).$promise.then(function(){n.success({title:"ChatQueue properly "+(t?"removed":"added"),msg:"ChatQueue has been "+(t?"removed":"added")+"!"}),t||d()}).catch(function(e){n.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:chatQueue.ADDAGENTS",msg:e.status?JSON.stringify(e.data):e.toString()})})}},d()}e.$inject=["$mdDialog","toasty","api","chatQueue","chatQueues","realtime","$translate","Auth"],angular.module("app.chat").controller("ChatQueueagentaddController",e)}(),function(){"use strict";function e(e,n,a,t,i){var o=this;o.chatQueue=t,o.penalty=0,o.items=[],o.selectedItems=[],o.dualMultiselectOptions={items:[],selectedItems:[],showSelectAndDeselectAll:!0,orderBy:"name",line1:"name",line2:"",line3:"",labelAll:i.instant("CHAT.ALL_TEAMS"),labelSelected:i.instant("CHAT.SELECTED_TEAMS"),transferCallback:function(e,t){a.chatQueue[t?"removeTeams":"addTeams"]({id:o.chatQueue.id,ids:_.map(e,"id"),penalty:o.penalty||0}).$promise.then(function(){n.success({title:"Team properly "+(t?"removed":"added"),msg:"Team has been "+(t?"removed":"added")+"!"})}).catch(function(e){n.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:chatQueue.ADDTEAMS",msg:e.status?JSON.stringify(e.data):e.toString()})})}},o.closeDialog=function(){e.hide()},a.chatQueue.getTeams({id:o.chatQueue.id,fields:"id,name",nolimit:!0}).$promise.then(function(e){return o.selectedItems=e.rows?e.rows:[],o.dualMultiselectOptions.selectedItems=o.selectedItems,a.team.get({fields:"id,name",nolimit:!0}).$promise}).then(function(e){o.items=e.rows?e.rows:[],o.dualMultiselectOptions.items=_.differenceBy(o.items,o.selectedItems,"id")}).catch(function(e){n.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:GETTEAMS",msg:e.status?JSON.stringify(e.data):e.toString()})})}e.$inject=["$mdDialog","toasty","api","chatQueue","$translate"],angular.module("app.chat").controller("ChatQueueteamaddController",e)}(),function(){"use strict";function e(e,t,n,a,i,o,s,r,l,d){var c=this;c.currentUser=l.getCurrentUser(),c.license=i,c.setting=o,c.passwordPattern=c.setting.securePassword?/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/:"",c.location=t.protocol()+"://"+t.host(),c.chatQueue=d||e.params.chatQueue||{},c.selectedTab=e.params.tab||0,c.teamadddialog=function(e,t){n.show({controller:"ChatQueueteamaddController",controllerAs:"vm",templateUrl:"app/main/apps/chat/views/chatQueues/edit/teamadd/teamadd.html",parent:angular.element(a.body),targetEvent:t,clickOutsideToClose:!0,locals:{chatQueue:e,chatQueues:c.chatQueues?c.chatQueues.rows:[]}})},c.agentadddialog=function(e,t){n.show({controller:"ChatQueueagentaddController",controllerAs:"vm",templateUrl:"app/main/apps/chat/views/chatQueues/edit/agentadd/agentadd.html",parent:angular.element(a.body),targetEvent:t,clickOutsideToClose:!0,locals:{chatQueue:e,chatQueues:c.chatQueues?c.chatQueues.rows:[],realtime:!1}})},c.alert=r.info,c.gotoChatQueues=function(){e.go("app.chat.chatQueues")},c.saveChatQueue=function(){s.chatQueue.update({id:c.chatQueue.id},c.chatQueue).$promise.then(function(){r.success({title:"ChatQueue updated!",msg:c.chatQueue.name?c.chatQueue.name+" has been updated!":""})}).catch(function(e){r.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:GETchatQueue",msg:e.data?JSON.stringify(e.data):e.toString()})})}}e.$inject=["$state","$location","$mdDialog","$document","license","setting","api","toasty","Auth","chatQueue"],angular.module("app.chat").controller("ChatQueueController",e)}(),function(){"use strict";function e(e,t,n,a,i,o,s,r,l,d,c,m,u,p,g){var v=this;v.license=u,v.setting=p,v.currentUser=m.getCurrentUser(),v.chatWebsites=r||{count:0,rows:[]},v.table="chatWebsites",v.listOrder="",v.listOrderAsc=null,v.selectedChatWebsites=[],v.query={fields:"createdAt,updatedAt,id,token,agentIdentifier,customerAlias,messageFontSize,name,key,address,remote,ListId,fidelity,timeout,agentAlias,closingQuestion,formSubmitSuccessMessage,formSubmitFailureMessage,color,color_focus,color_button,textColor,backgroundColor,fontSize,header_shape,showAgentAvatar,showCustomerAvatar,alignment,verticalAlignment,messagesAlignment,defaultTitle,animation,defaultWhiteLabel,whiteLabel,defaultLogo,conditionAgreement,autoclose,enableUnmanagedNote,unmanagedMessage,skipUnmanaged,sendUnmanaged,enableCustomerWriting,waitingTitle,waitingMessage,closingMessage,noteTitle,placeholderMessage,skipMessageButton,enableRating,ratingType,ratingStarsNumber,enableFeedback,forwardTranscript,forwardTranscriptMessage,closingMessageButton,download_transcript,enableCustomerAttachment,enableCustomerCheckmarks,systemAlias,enquiry_enable,enquiry_forwarding,enquiry_forwarding_address,name_title,username_placeholder,email_title,email_placeholder,header_online,hideWhenOffline,header_offline,start_chat_button,offline_chat_button,offlineMessageSubject,offlineMessageBody,offline_message,message_title,enquiry_message_placeholder,enquiry_button,rating_message,rating_send,rating_skip,acceptMethod,acceptUrl,rejectMethod,rejectUrl,closeMethod,closeUrl,onlineForm,offlineForm,mapKey,mapKeyOffline,forwardOffline,forwardOfflineAddress,IntervalId,timezone,waitForTheAssignedAgent,description,notificationSound,notificationShake,notificationTemplate,queueTransfer,queueTransferTimeout,agentTransfer,agentTransferTimeout",sort:"-updatedAt",limit:10,page:1},v.arrayagentIdentifier=_.keyBy([{option:"WebsiteAlias",value:"'website_alias'"},{option:"AgentAlias",value:"'agent_alias'"},{option:"AgentFullname",value:"'agent_fullname'"}],function(e){return _.replace(e.value,new RegExp("'","g"),"")}),v.arrayheader_shape=_.keyBy([{option:"Rounded",value:"'rounded'"},{option:"Squared",value:"'squared'"}],function(e){return _.replace(e.value,new RegExp("'","g"),"")}),v.arrayalignment=_.keyBy([{option:"bottom_right",value:"'bottom_right'"},{option:"right",value:"'right'"},{option:"left",value:"'left'"}],function(e){return _.replace(e.value,new RegExp("'","g"),"")}),v.arraymessagesAlignment=_.keyBy([{option:"alternate",value:"'alternate'"},{option:"centered",value:"'centered'"}],function(e){return _.replace(e.value,new RegExp("'","g"),"")}),v.arrayratingType=_.keyBy([{option:"Star",value:"'star'"},{option:"Thumb",value:"'thumb'"}],function(e){return _.replace(e.value,new RegExp("'","g"),"")}),v.arrayacceptMethod=_.keyBy([{option:"HTTP GET",value:"'GET'"},{option:"HTTP POST",value:"'POST'"}],function(e){return _.replace(e.value,new RegExp("'","g"),"")}),v.arrayrejectMethod=_.keyBy([{option:"HTTP GET",value:"'GET'"},{option:"HTTP POST",value:"'POST'"}],function(e){return _.replace(e.value,new RegExp("'","g"),"")}),v.arraycloseMethod=_.keyBy([{option:"HTTP GET",value:"'GET'"},{option:"HTTP POST",value:"'POST'"}],function(e){return _.replace(e.value,new RegExp("'","g"),"")}),v.editstate=function(e,t){n.go("app.chat.chatWebsites.edit",{id:e.id,chatWebsite:e})},v.interactionsgoto=function(e,t){n.go("app.chat.chatWebsites.edit",{id:e.id,tab:9})},v.offlinemessagesgoto=function(e,t){n.go("app.chat.chatWebsites.edit",{id:e.id,tab:10})},v.agentadddialog=function(e,t){i.show({controller:"ChatWebsiteagentaddController",controllerAs:"vm",templateUrl:"app/main/apps/chat/views/chatWebsites/edit/agentadd/agentadd.html",parent:angular.element(o.body),targetEvent:t,clickOutsideToClose:!0,locals:{chatWebsite:e,chatWebsites:v.chatWebsites?v.chatWebsites.rows:[],realtime:!1}})},v.deleteconfirm=function(e,t){var n=i.confirm().title("Are you sure want to delete the chatWebsite?").htmlContent(""+(e.name||"chatWebsite")+" will be deleted.").ariaLabel("delete chatWebsite").targetEvent(t).ok("OK").cancel("CANCEL");i.show(n).then(function(){A(e)},function(){console.log("CANCEL")})},v.success=f,v.getChatWebsites=function(){v.query.offset=(v.query.page-1)*v.query.limit,v.promise=l.chatWebsite.get(v.query,f).$promise},v.createOrEditChatWebsite=function(e,t){i.show({controller:"CreateOrEditChatWebsiteDialogController",controllerAs:"vm",templateUrl:"app/main/apps/chat/views/chatWebsites/create/dialog.html",parent:angular.element(o.body),targetEvent:e,clickOutsideToClose:!0,locals:{chatWebsite:t,chatWebsites:v.chatWebsites.rows,license:v.license,setting:v.setting}})},v.deleteChatWebsite=A,v.exportSelectedChatWebsites=function(){var e=angular.copy(v.selectedChatWebsites);return v.selectedChatWebsites=[],e},v.deleteSelectedChatWebsites=function(e){var t=i.confirm().title("Are you sure want to delete the selected chatWebsites?").htmlContent(""+v.selectedChatWebsites.length+" selected will be deleted.").ariaLabel("delete ChatWebsites").targetEvent(e).ok("OK").cancel("CANCEL");i.show(t).then(function(){v.selectedChatWebsites.forEach(function(e){A(e)}),v.selectedChatWebsites=[]})},v.deselectChatWebsites=function(){v.selectedChatWebsites=[]},v.selectAllChatWebsites=function(){v.selectedChatWebsites=v.chatWebsites.rows},l.cmList.get({fields:"id,name",sort:"name"}).$promise.then(function(e){v.lists=_.keyBy(e.rows||[],"id")}).catch(function(e){c.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:GETlists",msg:e.data?JSON.stringify(e.data):e.toString()})}),l.interval.get({fields:"id,name",sort:"name",IntervalId:"null"}).$promise.then(function(e){v.interval=_.keyBy(e.rows||[],"id")}).catch(function(e){c.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:GETinterval",msg:e.data?JSON.stringify(e.data):e.toString()})});var h=!0,b=1;function f(e){v.chatWebsites=e||{count:0,rows:[]}}function A(e){l.chatWebsite.delete({id:e.id}).$promise.then(function(){_.remove(v.chatWebsites.rows,{id:e.id}),v.chatWebsites.count-=1,v.chatWebsites.rows.length||v.getChatWebsites(),c.success({title:"ChatWebsite deleted!",msg:e.name?e.name+" has been deleted!":""})}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length){v.errors=e.data.errors||[{message:e.toString(),type:"SYSTEM:DELETEchatWebsite"}];for(var t=0;t"+e.app+" will be deleted.").ariaLabel("delete application").targetEvent(n).ok("OK").cancel("CANCEL");i.show(a).then(function(){r.chatWebsiteApps.rows.splice(t,1),l()},function(){console.log("CANCEL")})},r.getChatWebsiteApps=function(){r.promise=s.chatWebsite.getApplications(r.query,n).$promise},r.editChatWebsiteApp=t,r.editInterval=function(e,t){if(r.chatWebsiteApps.rows.length){var n=r.chatWebsiteApps.rows[t]?r.chatWebsiteApps.rows[t]:r.chatWebsiteApps.rows[0];i.show({controller:"EditChatWebsiteAppintervalDialogController",controllerAs:"vm",templateUrl:"app/main/apps/chat/views/chatWebsites/edit/apps/interval/dialog.html",parent:angular.element(a.body),targetEvent:e,clickOutsideToClose:!0,locals:{interval:{interval:n.interval,IntervalId:n.IntervalId,application:!0},intervals:[]}}).then(function(e){e&&(n.interval=e.interval||"*,*,*,*",n.IntervalId=e.IntervalId||null,l())})}},r.deleteChatWebsiteApp=function(e){_.remove(r.chatWebsiteApps.rows,{id:e.id}),l(),o.success({title:"App deleted!",msg:e.app?e.app+" has been deleted!":""})},r.deleteSelectedChatWebsiteApps=function(e){var t=i.confirm().title("Are you sure want to delete the selected applications?").htmlContent(""+r.selectedChatWebsiteApps.length+" selected will be deleted.").ariaLabel("delete applications").targetEvent(e).ok("OK").cancel("CANCEL");i.show(t).then(function(){r.selectedChatWebsiteApps.forEach(function(e){_.remove(r.chatWebsiteApps.rows,{id:e.id})}),r.selectedChatWebsiteApps=[],l()})},r.rewriteRouting=l,r.getIntervals=function(){return s.interval.get({fields:"id,interval,IntervalId"}).$promise.then(function(e){r.intervals=e}).catch(function(e){console.error(e)})}}e.$inject=["api","$mdDialog","$document","toasty","Auth"],angular.module("app.chat").controller("ChatWebsiteActionsController",e)}(),function(){"use strict";function e(e,n,a,t,i,o,s,r){var l=this;function d(){return a.chatWebsite[l.isVoiceRealtime()?"getMembers":"getAgents"]({id:l.chatWebsite.id,fields:"id,name,internal,fullname",nolimit:!0,role:"agent"}).$promise.then(function(e){return l.isVoiceRealtime()?l.selectedItems=e.rows?_.map(e.rows,function(e){return e.id=e.UserId,e.fullname=e.membername,e.penalty=e.hasOwnProperty("penalty")?"penalty "+e.penalty:"",e.internal=e.hasOwnProperty("internal")?"<"+e.internal+">":"",e}):[]:l.selectedItems=e.rows?_.map(e.rows,function(e){return e.penalty=e.UserChatWebsite?"penalty "+e.UserChatWebsite.penalty:"",e.internal=e.hasOwnProperty("internal")?"<"+e.internal+">":"",e}):[],l.dualMultiselectOptions.selectedItems=l.selectedItems,r.hasRole("admin")?a.user.get({fields:"id,name,internal,fullname",nolimit:!0,role:"agent"}).$promise:a.user.getAgents({id:r.getCurrentUser().id,fields:"id,name,internal,fullname",nolimit:!0,role:"agent"}).$promise}).then(function(e){l.items=e.rows?_.map(e.rows,function(e){return e.penalty=e.UserChatWebsite?"penalty "+e.UserChatWebsite.penalty:"",e.internal=e.internal?"<"+e.internal+">":"",e}):[],l.dualMultiselectOptions.items=_.differenceBy(l.items,l.selectedItems,"id")}).catch(function(e){n.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:GETUSERS.GETAGENTS",msg:e.status?JSON.stringify(e.data):e.toString()})})}l.chatWebsite=t,l.penalty=0,l.items=[],l.selectedItems=[],l.closeDialog=function(){e.hide()},l.isVoiceRealtime=function(){return o},l.dualMultiselectOptions={items:[],selectedItems:[],showSelectAndDeselectAll:!o,orderBy:"name",line1:"fullname",line2:["name","internal"],line3:"penalty",labelAll:s.instant("CHAT.ALL_AGENTS"),labelSelected:s.instant("CHAT.SELECTED_AGENTS"),transferCallback:function(e,t){a.chatWebsite[t?"removeAgents":"addAgents"]({id:l.chatWebsite.id,ids:_.map(e,l.isVoiceRealtime()&&t?"UserId":"id"),penalty:l.penalty||0,realtime:o||!1}).$promise.then(function(){n.success({title:"ChatWebsite properly "+(t?"removed":"added"),msg:"ChatWebsite has been "+(t?"removed":"added")+"!"}),t||d()}).catch(function(e){n.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:chatWebsite.ADDAGENTS",msg:e.status?JSON.stringify(e.data):e.toString()})})}},d()}e.$inject=["$mdDialog","toasty","api","chatWebsite","chatWebsites","realtime","$translate","Auth"],angular.module("app.chat").controller("ChatWebsiteagentaddController",e)}(),function(){"use strict";function e(e,a){var i=this;i.chatWebsite={},i.ngFlowOptions={maxChunkRetries:1,simultaneousUploads:1,testChunks:!1,progressCallbacksInterval:1e3,allowDuplicateUploads:!0},i.ngFlow={flow:{}},i.dropping=!1,i.fileAdded=function(e){var t=["png","jpg"];if(!_.includes(t,e.getExtension()))return a.error({title:"Invalid extension: "+e.getExtension(),msg:"Supported only: "+t.join()}),!1;if(8388608"+(e.name||"chatCannedAnswer")+" will be deleted.").ariaLabel("delete chatCannedAnswer").targetEvent(t).ok("OK").cancel("CANCEL");o.show(n).then(function(){g(e)},function(){console.log("CANCEL")})},c.success=p,c.getChatWebsiteChatCannedAnswers=function(){c.query.offset=(c.query.page-1)*c.query.limit,c.promise=l.chatWebsite.getAnswers(c.query,p).$promise},c.createOrEditChatWebsiteChatCannedAnswer=function(e,t){o.show({controller:"CreateOrEditChatCannedAnswerDialogController",controllerAs:"vm",templateUrl:"app/main/apps/chat/views/chatWebsites/edit/chatCannedAnswers/dialog.html",parent:angular.element(s.body),targetEvent:e,clickOutsideToClose:!0,locals:{chatWebsite:c.chatWebsite,chatCannedAnswer:t,chatCannedAnswers:c.chatWebsiteChatCannedAnswers.rows,license:null,setting:null}})},c.exportSelectedChatWebsiteChatCannedAnswers=function(){var e=angular.copy(c.selectedChatWebsiteChatCannedAnswers);return c.selectedChatWebsiteChatCannedAnswers=[],e},c.deleteChatWebsiteChatCannedAnswer=g,c.deleteSelectedChatWebsiteChatCannedAnswers=function(e){var t=o.confirm().title("Are you sure want to delete the selected chatCannedAnswers?").htmlContent(""+c.selectedChatWebsiteChatCannedAnswers.length+" selected will be deleted.").ariaLabel("delete chatCannedAnswers").targetEvent(e).ok("OK").cancel("CANCEL");o.show(t).then(function(){c.selectedChatWebsiteChatCannedAnswers.forEach(function(e){g(e)}),c.selectedChatWebsiteChatCannedAnswers=[]})};var m=!0,u=1;function p(e){c.chatWebsiteChatCannedAnswers=e||{count:0,rows:[]}}function g(e){l.cannedAnswer.delete({id:e.id}).$promise.then(function(){_.remove(c.chatWebsiteChatCannedAnswers.rows,{id:e.id}),c.chatWebsiteChatCannedAnswers.count-=1,c.chatWebsiteChatCannedAnswers.rows.length||c.getChatWebsiteChatCannedAnswers(),r.success({title:"ChatCannedAnswer deleted!",msg:e.name?e.name+" has been deleted!":""})}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length){vm.errors=e.data.errors||[{message:e.toString(),type:"SYSTEM:GETchatWebsite"}];for(var t=0;t"+(e.name||"chatDisposition")+" will be deleted.").ariaLabel("delete chatDisposition").targetEvent(t).ok("OK").cancel("CANCEL");o.show(n).then(function(){g(e)},function(){console.log("CANCEL")})},c.success=p,c.getChatWebsiteChatDispositions=function(){c.query.offset=(c.query.page-1)*c.query.limit,c.promise=l.chatWebsite.getDispositions(c.query,p).$promise},c.createOrEditChatWebsiteChatDisposition=function(e,t){o.show({controller:"CreateOrEditChatDispositionDialogController",controllerAs:"vm",templateUrl:"app/main/apps/chat/views/chatWebsites/edit/chatDispositions/dialog.html",parent:angular.element(s.body),targetEvent:e,clickOutsideToClose:!0,locals:{chatWebsite:c.chatWebsite,chatDisposition:t,chatDispositions:c.chatWebsiteChatDispositions.rows,license:null,setting:null}})},c.exportSelectedChatWebsiteChatDispositions=function(){var e=angular.copy(c.selectedChatWebsiteChatDispositions);return c.selectedChatWebsiteChatDispositions=[],e},c.deleteChatWebsiteChatDisposition=g,c.deleteSelectedChatWebsiteChatDispositions=function(e){var t=o.confirm().title("Are you sure want to delete the selected chatDispositions?").htmlContent(""+c.selectedChatWebsiteChatDispositions.length+" selected will be deleted.").ariaLabel("delete chatDispositions").targetEvent(e).ok("OK").cancel("CANCEL");o.show(t).then(function(){c.selectedChatWebsiteChatDispositions.forEach(function(e){g(e)}),c.selectedChatWebsiteChatDispositions=[]})};var m=!0,u=1;function p(e){c.chatWebsiteChatDispositions=e||{count:0,rows:[]}}function g(e){l.disposition.delete({id:e.id}).$promise.then(function(){_.remove(c.chatWebsiteChatDispositions.rows,{id:e.id}),c.chatWebsiteChatDispositions.count-=1,c.chatWebsiteChatDispositions.rows.length||c.getChatWebsiteChatDispositions(),r.success({title:"ChatDisposition deleted!",msg:e.name?e.name+" has been deleted!":""})}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length){vm.errors=e.data.errors||[{message:e.toString(),type:"SYSTEM:GETchatWebsite"}];for(var t=0;t"+(e.name||"interaction")+" will be deleted.").ariaLabel("delete interaction").targetEvent(t).ok("OK").cancel("CANCEL");o.show(n).then(function(){g(e)},function(){console.log("CANCEL")})},c.chatInteractionDownload=function(o,e,t){return l.chatInteraction.download({id:o.id,exists:!0,attachments:t}).$promise.then(function(e){var t=[e.buffer],n="interaction"+o.id,a=new Blob(t,{type:e.type});n="chat-interaction"+o.id+".zip";var i=window.document.createElement("a");i.setAttribute("href",URL.createObjectURL(a)),i.setAttribute("download",n),document.body.appendChild(i),i.click()}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length)for(var t=0;t"+c.selectedChatWebsiteInteractions.length+" selected will be deleted.").ariaLabel("delete interactions").targetEvent(e).ok("OK").cancel("CANCEL");o.show(t).then(function(){c.selectedChatWebsiteInteractions.forEach(function(e){g(e)}),c.selectedChatWebsiteInteractions=[]})};var m=!0,u=1;function p(e){c.chatWebsiteInteractions=e||{count:0,rows:[]}}function g(e){l.chatInteraction.delete({id:e.id}).$promise.then(function(){_.remove(c.chatWebsiteInteractions.rows,{id:e.id}),c.chatWebsiteInteractions.count-=1,c.chatWebsiteInteractions.rows.length||c.getChatWebsiteInteractions(),r.success({title:"Interaction deleted!",msg:e.name?e.name+" has been deleted!":""})}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length){vm.errors=e.data.errors||[{message:e.toString(),type:"SYSTEM:GETchatWebsite"}];for(var t=0;t"+(e.name||"offlineMessage")+" will be deleted.").ariaLabel("delete offlineMessage").targetEvent(t).ok("OK").cancel("CANCEL");o.show(n).then(function(){g(e)},function(){console.log("CANCEL")})},c.success=p,c.getChatWebsiteOfflineMessages=function(){c.query.offset=(c.query.page-1)*c.query.limit,c.promise=l.chatWebsite.getOfflineMessages(c.query,p).$promise},c.createOrEditChatWebsiteOfflineMessage=function(e,t){o.show({controller:"CreateOrEditOfflineMessageDialogController",controllerAs:"vm",templateUrl:"app/main/apps/chat/views/chatWebsites/edit/offlineMessages/dialog.html",parent:angular.element(s.body),targetEvent:e,clickOutsideToClose:!0,locals:{chatWebsite:c.chatWebsite,offlineMessage:t,offlineMessages:c.chatWebsiteOfflineMessages.rows,license:null,setting:null}})},c.showOfflineMessageChatWebsiteOfflineMessage=function(e,n){o.show({controller:"ShowOfflineMessageOfflineMessageDialogController",controllerAs:"vm",templateUrl:"app/main/apps/chat/views/chatWebsites/edit/offlineMessages/dialog.html",parent:angular.element(s.body),targetEvent:e,clickOutsideToClose:!0,resolve:{message:["apiResolver","$stateParams",function(e,t){return e.resolve("chatOfflineMessage@get",{fields:"id,body",id:n.id})}]}})},c.exportSelectedChatWebsiteOfflineMessages=function(){var e=angular.copy(c.selectedChatWebsiteOfflineMessages);return c.selectedChatWebsiteOfflineMessages=[],e},c.deleteChatWebsiteOfflineMessage=g,c.deleteSelectedChatWebsiteOfflineMessages=function(e){var t=o.confirm().title("Are you sure want to delete the selected offlineMessages?").htmlContent(""+c.selectedChatWebsiteOfflineMessages.length+" selected will be deleted.").ariaLabel("delete offlineMessages").targetEvent(e).ok("OK").cancel("CANCEL");o.show(t).then(function(){c.selectedChatWebsiteOfflineMessages.forEach(function(e){g(e)}),c.selectedChatWebsiteOfflineMessages=[]})},l.cmContact.get({fields:"id,firstName,lastName",nolimit:"true"}).$promise.then(function(e){c.contacts=_.keyBy(e.rows||[],"id")}).catch(function(e){r.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:GETcontacts",msg:e.data?JSON.stringify(e.data):e.toString()})});var m=!0,u=1;function p(e){c.chatWebsiteOfflineMessages=e||{count:0,rows:[]}}function g(e){l.chatOfflineMessage.delete({id:e.id}).$promise.then(function(){_.remove(c.chatWebsiteOfflineMessages.rows,{id:e.id}),c.chatWebsiteOfflineMessages.count-=1,c.chatWebsiteOfflineMessages.rows.length||c.getChatWebsiteOfflineMessages(),r.success({title:"OfflineMessage deleted!",msg:e.name?e.name+" has been deleted!":""})}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length){vm.errors=e.data.errors||[{message:e.toString(),type:"SYSTEM:GETchatWebsite"}];for(var t=0;t"+(e.name||"chatProactiveAction")+" will be deleted.").ariaLabel("delete chatProactiveAction").targetEvent(t).ok("OK").cancel("CANCEL");o.show(n).then(function(){g(e)},function(){console.log("CANCEL")})},c.success=p,c.getChatWebsiteProactiveActions=function(){c.query.offset=(c.query.page-1)*c.query.limit,c.promise=l.chatWebsite.getProactiveActions(c.query,p).$promise},c.createOrEditChatWebsiteChatProactiveAction=function(e,t){o.show({controller:"CreateOrEditChatProactiveActionDialogController",controllerAs:"vm",templateUrl:"app/main/apps/chat/views/chatWebsites/edit/proactive/dialog.html",parent:angular.element(s.body),targetEvent:e,clickOutsideToClose:!0,locals:{chatWebsite:c.chatWebsite,chatProactiveAction:t,proactive:c.chatWebsiteProactiveActions.rows,license:null,setting:null}})},c.exportSelectedChatWebsiteProactiveActions=function(){var e=angular.copy(c.selectedChatWebsiteProactiveActions);return c.selectedChatWebsiteProactiveActions=[],e},c.deleteChatWebsiteChatProactiveAction=g,c.deleteSelectedChatWebsiteProactiveActions=function(e){var t=o.confirm().title("Are you sure want to delete the selected proactive?").htmlContent(""+c.selectedChatWebsiteProactiveActions.length+" selected will be deleted.").ariaLabel("delete proactive").targetEvent(e).ok("OK").cancel("CANCEL");o.show(t).then(function(){c.selectedChatWebsiteProactiveActions.forEach(function(e){g(e)}),c.selectedChatWebsiteProactiveActions=[]})};var m=!0,u=1;function p(e){c.chatWebsiteProactiveActions=e||{count:0,rows:[]}}function g(e){l.chatProactiveAction.delete({id:e.id}).$promise.then(function(){_.remove(c.chatWebsiteProactiveActions.rows,{id:e.id}),c.chatWebsiteProactiveActions.count-=1,c.chatWebsiteProactiveActions.rows.length||c.getChatWebsiteProactiveActions(),r.success({title:"ChatProactiveAction deleted!",msg:e.name?e.name+" has been deleted!":""})}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length){vm.errors=e.data.errors||[{message:e.toString(),type:"SYSTEM:GETchatWebsite"}];for(var t=0;t<\/script>',t.end="\n\x3c!-- START Motion Chat Script --\x3e"},t.info={},e.$watch("vm_ac.chatWebsite.remote",function(e){t.script='\n