From eb8551e643c6ba6d1bc9dd1fd6103b3edc34691b Mon Sep 17 00:00:00 2001 From: Giuseppe Careri Date: Wed, 13 Jun 2018 11:40:33 +0200 Subject: [PATCH] Built motion from commit 67e5df37.|2.0.59 --- 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/footer/i18n/ja.json | 2 +- public/app/forgot/i18n/es.json | 16 +- public/app/forgot/i18n/ja.json | 20 +- public/app/login/i18n/es.json | 26 +- public/app/login/i18n/ja.json | 32 +- public/app/main/apps/analytics/i18n/en.json | 2 +- public/app/main/apps/analytics/i18n/es.json | 142 ++-- public/app/main/apps/analytics/i18n/ja.json | 146 ++-- public/app/main/apps/callysquare/i18n/en.json | 2 +- public/app/main/apps/callysquare/i18n/es.json | 360 ++++---- public/app/main/apps/callysquare/i18n/ja.json | 366 ++++---- public/app/main/apps/chat/i18n/da.json | 3 +- public/app/main/apps/chat/i18n/de.json | 3 +- public/app/main/apps/chat/i18n/en.json | 3 +- public/app/main/apps/chat/i18n/es.json | 667 ++++++------ public/app/main/apps/chat/i18n/fa.json | 3 +- public/app/main/apps/chat/i18n/fi.json | 3 +- public/app/main/apps/chat/i18n/fr.json | 3 +- public/app/main/apps/chat/i18n/hi.json | 3 +- public/app/main/apps/chat/i18n/it.json | 1 + public/app/main/apps/chat/i18n/ja.json | 673 ++++++------ public/app/main/apps/chat/i18n/ko.json | 3 +- public/app/main/apps/chat/i18n/lv.json | 3 +- public/app/main/apps/chat/i18n/nl.json | 3 +- public/app/main/apps/chat/i18n/no.json | 3 +- public/app/main/apps/chat/i18n/pl.json | 3 +- public/app/main/apps/chat/i18n/pt-PT.json | 3 +- public/app/main/apps/chat/i18n/ru.json | 3 +- public/app/main/apps/chat/i18n/sv.json | 3 +- public/app/main/apps/chat/i18n/tr.json | 3 +- public/app/main/apps/chat/i18n/zh-CN.json | 3 +- public/app/main/apps/chat/i18n/zh-TW.json | 3 +- public/app/main/apps/contactmanager/i18n/da.json | 7 +- public/app/main/apps/contactmanager/i18n/de.json | 7 +- public/app/main/apps/contactmanager/i18n/en.json | 7 +- public/app/main/apps/contactmanager/i18n/es.json | 287 +++--- public/app/main/apps/contactmanager/i18n/fa.json | 7 +- public/app/main/apps/contactmanager/i18n/fi.json | 7 +- public/app/main/apps/contactmanager/i18n/fr.json | 7 +- public/app/main/apps/contactmanager/i18n/hi.json | 7 +- public/app/main/apps/contactmanager/i18n/it.json | 7 +- public/app/main/apps/contactmanager/i18n/ja.json | 287 +++--- public/app/main/apps/contactmanager/i18n/ko.json | 7 +- public/app/main/apps/contactmanager/i18n/lv.json | 7 +- public/app/main/apps/contactmanager/i18n/nl.json | 7 +- public/app/main/apps/contactmanager/i18n/no.json | 7 +- public/app/main/apps/contactmanager/i18n/pl.json | 7 +- .../app/main/apps/contactmanager/i18n/pt-PT.json | 7 +- public/app/main/apps/contactmanager/i18n/ru.json | 7 +- public/app/main/apps/contactmanager/i18n/sv.json | 7 +- public/app/main/apps/contactmanager/i18n/tr.json | 7 +- .../app/main/apps/contactmanager/i18n/zh-CN.json | 7 +- .../app/main/apps/contactmanager/i18n/zh-TW.json | 7 +- public/app/main/apps/dashboards/i18n/da.json | 3 +- public/app/main/apps/dashboards/i18n/de.json | 3 +- public/app/main/apps/dashboards/i18n/en.json | 3 +- public/app/main/apps/dashboards/i18n/es.json | 17 +- public/app/main/apps/dashboards/i18n/fa.json | 3 +- public/app/main/apps/dashboards/i18n/fi.json | 3 +- public/app/main/apps/dashboards/i18n/fr.json | 3 +- public/app/main/apps/dashboards/i18n/hi.json | 3 +- public/app/main/apps/dashboards/i18n/it.json | 3 +- public/app/main/apps/dashboards/i18n/ja.json | 481 +++++----- public/app/main/apps/dashboards/i18n/ko.json | 3 +- public/app/main/apps/dashboards/i18n/lv.json | 3 +- public/app/main/apps/dashboards/i18n/nl.json | 3 +- public/app/main/apps/dashboards/i18n/no.json | 3 +- public/app/main/apps/dashboards/i18n/pl.json | 3 +- public/app/main/apps/dashboards/i18n/pt-PT.json | 3 +- public/app/main/apps/dashboards/i18n/ru.json | 3 +- public/app/main/apps/dashboards/i18n/sv.json | 3 +- public/app/main/apps/dashboards/i18n/tr.json | 3 +- public/app/main/apps/dashboards/i18n/zh-CN.json | 3 +- public/app/main/apps/dashboards/i18n/zh-TW.json | 3 +- public/app/main/apps/fax/i18n/en.json | 2 +- public/app/main/apps/fax/i18n/es.json | 390 ++++---- public/app/main/apps/fax/i18n/ja.json | 408 ++++---- public/app/main/apps/help/i18n/es.json | 6 +- public/app/main/apps/help/i18n/ja.json | 8 +- public/app/main/apps/integrations/i18n/en.json | 2 +- public/app/main/apps/integrations/i18n/es.json | 308 +++--- public/app/main/apps/integrations/i18n/ja.json | 308 +++--- public/app/main/apps/jscripty/i18n/en.json | 2 +- public/app/main/apps/jscripty/i18n/es.json | 104 +- public/app/main/apps/jscripty/i18n/ja.json | 106 +- public/app/main/apps/mail/i18n/en.json | 2 +- public/app/main/apps/mail/i18n/es.json | 510 +++++----- public/app/main/apps/mail/i18n/ja.json | 518 +++++----- public/app/main/apps/motiondialer/i18n/da.json | 4 +- public/app/main/apps/motiondialer/i18n/de.json | 4 +- public/app/main/apps/motiondialer/i18n/en.json | 4 +- public/app/main/apps/motiondialer/i18n/es.json | 1122 ++++++++++---------- public/app/main/apps/motiondialer/i18n/fa.json | 4 +- public/app/main/apps/motiondialer/i18n/fi.json | 4 +- public/app/main/apps/motiondialer/i18n/fr.json | 4 +- public/app/main/apps/motiondialer/i18n/hi.json | 4 +- public/app/main/apps/motiondialer/i18n/it.json | 4 +- public/app/main/apps/motiondialer/i18n/ja.json | 1128 ++++++++++---------- public/app/main/apps/motiondialer/i18n/ko.json | 4 +- public/app/main/apps/motiondialer/i18n/lv.json | 4 +- public/app/main/apps/motiondialer/i18n/nl.json | 4 +- public/app/main/apps/motiondialer/i18n/no.json | 4 +- public/app/main/apps/motiondialer/i18n/pl.json | 4 +- public/app/main/apps/motiondialer/i18n/pt-PT.json | 4 +- public/app/main/apps/motiondialer/i18n/ru.json | 4 +- public/app/main/apps/motiondialer/i18n/sv.json | 4 +- public/app/main/apps/motiondialer/i18n/tr.json | 4 +- public/app/main/apps/motiondialer/i18n/zh-CN.json | 4 +- public/app/main/apps/motiondialer/i18n/zh-TW.json | 4 +- public/app/main/apps/openchannel/i18n/da.json | 3 +- public/app/main/apps/openchannel/i18n/de.json | 3 +- public/app/main/apps/openchannel/i18n/en.json | 3 +- public/app/main/apps/openchannel/i18n/es.json | 357 ++++--- public/app/main/apps/openchannel/i18n/fa.json | 3 +- public/app/main/apps/openchannel/i18n/fi.json | 3 +- public/app/main/apps/openchannel/i18n/fr.json | 3 +- public/app/main/apps/openchannel/i18n/hi.json | 3 +- public/app/main/apps/openchannel/i18n/it.json | 1 + public/app/main/apps/openchannel/i18n/ja.json | 361 ++++---- public/app/main/apps/openchannel/i18n/ko.json | 3 +- public/app/main/apps/openchannel/i18n/lv.json | 3 +- public/app/main/apps/openchannel/i18n/nl.json | 3 +- public/app/main/apps/openchannel/i18n/no.json | 3 +- public/app/main/apps/openchannel/i18n/pl.json | 3 +- public/app/main/apps/openchannel/i18n/pt-PT.json | 3 +- public/app/main/apps/openchannel/i18n/ru.json | 3 +- public/app/main/apps/openchannel/i18n/sv.json | 3 +- public/app/main/apps/openchannel/i18n/tr.json | 3 +- public/app/main/apps/openchannel/i18n/zh-CN.json | 3 +- public/app/main/apps/openchannel/i18n/zh-TW.json | 3 +- public/app/main/apps/settings/i18n/da.json | 9 +- public/app/main/apps/settings/i18n/de.json | 9 +- public/app/main/apps/settings/i18n/en.json | 7 +- public/app/main/apps/settings/i18n/es.json | 305 +++--- public/app/main/apps/settings/i18n/fa.json | 9 +- public/app/main/apps/settings/i18n/fi.json | 9 +- public/app/main/apps/settings/i18n/fr.json | 9 +- public/app/main/apps/settings/i18n/hi.json | 9 +- public/app/main/apps/settings/i18n/it.json | 9 +- public/app/main/apps/settings/i18n/ja.json | 309 +++--- public/app/main/apps/settings/i18n/ko.json | 9 +- public/app/main/apps/settings/i18n/lv.json | 9 +- public/app/main/apps/settings/i18n/nl.json | 9 +- public/app/main/apps/settings/i18n/no.json | 9 +- public/app/main/apps/settings/i18n/pl.json | 9 +- public/app/main/apps/settings/i18n/pt-PT.json | 9 +- public/app/main/apps/settings/i18n/ru.json | 9 +- public/app/main/apps/settings/i18n/sv.json | 9 +- public/app/main/apps/settings/i18n/tr.json | 9 +- public/app/main/apps/settings/i18n/zh-CN.json | 9 +- public/app/main/apps/settings/i18n/zh-TW.json | 9 +- public/app/main/apps/sms/i18n/en.json | 2 +- public/app/main/apps/sms/i18n/es.json | 412 ++++---- public/app/main/apps/sms/i18n/ja.json | 424 ++++---- public/app/main/apps/staff/i18n/da.json | 3 +- public/app/main/apps/staff/i18n/de.json | 3 +- public/app/main/apps/staff/i18n/en.json | 3 +- public/app/main/apps/staff/i18n/es.json | 425 ++++---- public/app/main/apps/staff/i18n/fa.json | 3 +- public/app/main/apps/staff/i18n/fi.json | 3 +- public/app/main/apps/staff/i18n/fr.json | 3 +- public/app/main/apps/staff/i18n/hi.json | 3 +- public/app/main/apps/staff/i18n/it.json | 1 + public/app/main/apps/staff/i18n/ja.json | 425 ++++---- public/app/main/apps/staff/i18n/ko.json | 3 +- public/app/main/apps/staff/i18n/lv.json | 3 +- public/app/main/apps/staff/i18n/nl.json | 3 +- public/app/main/apps/staff/i18n/no.json | 3 +- public/app/main/apps/staff/i18n/pl.json | 3 +- public/app/main/apps/staff/i18n/pt-PT.json | 3 +- public/app/main/apps/staff/i18n/ru.json | 3 +- public/app/main/apps/staff/i18n/sv.json | 3 +- public/app/main/apps/staff/i18n/tr.json | 3 +- public/app/main/apps/staff/i18n/zh-CN.json | 3 +- public/app/main/apps/staff/i18n/zh-TW.json | 3 +- public/app/main/apps/tools/i18n/en.json | 2 +- public/app/main/apps/tools/i18n/es.json | 754 +++++++------- public/app/main/apps/tools/i18n/ja.json | 758 +++++++------- public/app/main/apps/voice/i18n/en.json | 2 +- public/app/main/apps/voice/i18n/es.json | 778 +++++++------- public/app/main/apps/voice/i18n/ja.json | 782 +++++++------- public/app/quick-panel/i18n/es.json | 120 +- public/app/quick-panel/i18n/ja.json | 120 +- public/app/reset/i18n/es.json | 26 +- public/app/reset/i18n/ja.json | 26 +- public/app/toolbar/i18n/es.json | 142 ++-- public/app/toolbar/i18n/ja.json | 142 ++-- public/assets/ms-phonebar/sounds/dialpad/0.wav | Bin 13274 -> 0 bytes public/assets/ms-phonebar/sounds/dialpad/1.wav | Bin 13274 -> 0 bytes public/assets/ms-phonebar/sounds/dialpad/2.wav | Bin 13274 -> 0 bytes public/assets/ms-phonebar/sounds/dialpad/3.wav | Bin 13274 -> 0 bytes public/assets/ms-phonebar/sounds/dialpad/4.wav | Bin 13274 -> 0 bytes public/assets/ms-phonebar/sounds/dialpad/5.wav | Bin 13274 -> 0 bytes public/assets/ms-phonebar/sounds/dialpad/6.wav | Bin 13274 -> 0 bytes public/assets/ms-phonebar/sounds/dialpad/7.wav | Bin 13274 -> 0 bytes public/assets/ms-phonebar/sounds/dialpad/8.wav | Bin 13274 -> 0 bytes public/assets/ms-phonebar/sounds/dialpad/9.wav | Bin 13274 -> 0 bytes public/assets/ms-phonebar/sounds/dialpad/A.ogg | Bin 5426 -> 0 bytes public/assets/ms-phonebar/sounds/dialpad/A.wav | Bin 13274 -> 0 bytes public/assets/ms-phonebar/sounds/dialpad/B.ogg | Bin 5426 -> 0 bytes public/assets/ms-phonebar/sounds/dialpad/B.wav | Bin 13274 -> 0 bytes public/assets/ms-phonebar/sounds/dialpad/C.ogg | Bin 5536 -> 0 bytes public/assets/ms-phonebar/sounds/dialpad/C.wav | Bin 13274 -> 0 bytes public/assets/ms-phonebar/sounds/dialpad/D.ogg | Bin 5462 -> 0 bytes public/assets/ms-phonebar/sounds/dialpad/D.wav | Bin 13274 -> 0 bytes .../assets/ms-phonebar/sounds/dialpad/asterisk.wav | Bin 13274 -> 0 bytes public/assets/ms-phonebar/sounds/dialpad/pound.wav | Bin 13274 -> 0 bytes public/assets/ms-phonebar/sounds/incoming-call.wav | Bin 267308 -> 0 bytes .../assets/ms-phonebar/sounds/incoming-call2.ogg | Bin 96359 -> 0 bytes public/assets/ms-phonebar/sounds/incoming-chat.ogg | Bin 35885 -> 0 bytes .../ms-phonebar/sounds/outgoing-call-rejected.wav | Bin 23416 -> 0 bytes .../assets/ms-phonebar/sounds/outgoing-call2.ogg | Bin 15742 -> 0 bytes public/index.html | 4 +- public/scripts/app.8d3c9926.js | 1 - public/scripts/app.bb44f9cd.js | 1 + public/styles/app.3b5d44bc.css | 1 - public/styles/app.b83aae6c.css | 1 + server/api/action/action.attributes.js | 2 +- server/api/action/action.controller.js | 2 +- server/api/action/action.model.js | 2 +- server/api/action/action.rpc.js | 2 +- server/api/action/index.js | 2 +- .../analyticCustomReport.attributes.js | 2 +- .../analyticCustomReport.controller.js | 2 +- .../analyticCustomReport.model.js | 2 +- .../analyticCustomReport.rpc.js | 2 +- server/api/analyticCustomReport/index.js | 2 +- .../analyticDefaultReport.attributes.js | 2 +- .../analyticDefaultReport.controller.js | 2 +- .../analyticDefaultReport.model.js | 2 +- .../analyticDefaultReport.rpc.js | 2 +- server/api/analyticDefaultReport/index.js | 2 +- .../analyticExtractedReport.attributes.js | 2 +- .../analyticExtractedReport.controller.js | 2 +- .../analyticExtractedReport.model.js | 2 +- .../analyticExtractedReport.rpc.js | 2 +- server/api/analyticExtractedReport/index.js | 2 +- .../analyticFieldReport.attributes.js | 2 +- .../analyticFieldReport.controller.js | 2 +- .../analyticFieldReport.model.js | 2 +- .../analyticFieldReport/analyticFieldReport.rpc.js | 2 +- server/api/analyticFieldReport/index.js | 2 +- .../analyticMetric/analyticMetric.attributes.js | 2 +- .../analyticMetric/analyticMetric.controller.js | 2 +- server/api/analyticMetric/analyticMetric.model.js | 2 +- server/api/analyticMetric/analyticMetric.rpc.js | 2 +- server/api/analyticMetric/index.js | 2 +- .../analyticTreeReport.attributes.js | 2 +- .../analyticTreeReport.controller.js | 2 +- .../analyticTreeReport/analyticTreeReport.model.js | 2 +- .../analyticTreeReport/analyticTreeReport.rpc.js | 2 +- server/api/analyticTreeReport/index.js | 2 +- server/api/attachment/attachment.attributes.js | 2 +- server/api/attachment/attachment.controller.js | 2 +- server/api/attachment/attachment.model.js | 2 +- server/api/attachment/attachment.rpc.js | 2 +- server/api/attachment/index.js | 2 +- server/api/authGoogle/authGoogle.controller.js | 2 +- server/api/authGoogle/index.js | 2 +- server/api/authLocal/authLocal.controller.js | 2 +- server/api/authLocal/index.js | 2 +- server/api/automation/automation.attributes.js | 2 +- server/api/automation/automation.controller.js | 2 +- server/api/automation/automation.model.js | 2 +- server/api/automation/automation.rpc.js | 2 +- server/api/automation/index.js | 2 +- server/api/campaign/campaign.attributes.js | 2 +- server/api/campaign/campaign.controller.js | 2 +- server/api/campaign/campaign.model.js | 2 +- server/api/campaign/campaign.rpc.js | 2 +- server/api/campaign/index.js | 2 +- server/api/cannedAnswer/cannedAnswer.attributes.js | 2 +- server/api/cannedAnswer/cannedAnswer.controller.js | 2 +- server/api/cannedAnswer/cannedAnswer.model.js | 2 +- server/api/cannedAnswer/cannedAnswer.rpc.js | 2 +- server/api/cannedAnswer/index.js | 2 +- server/api/cdr/cdr.attributes.js | 2 +- server/api/cdr/cdr.controller.js | 2 +- server/api/cdr/cdr.model.js | 2 +- server/api/cdr/cdr.rpc.js | 2 +- server/api/cdr/index.js | 2 +- .../chatApplication/chatApplication.attributes.js | 2 +- .../chatApplication/chatApplication.controller.js | 2 +- .../api/chatApplication/chatApplication.model.js | 2 +- server/api/chatApplication/chatApplication.rpc.js | 2 +- server/api/chatApplication/index.js | 2 +- .../chatDisposition/chatDisposition.attributes.js | 2 +- .../chatDisposition/chatDisposition.controller.js | 2 +- .../api/chatDisposition/chatDisposition.model.js | 2 +- server/api/chatDisposition/chatDisposition.rpc.js | 2 +- server/api/chatDisposition/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 +- server/api/chatWebsite/chatWebsite.attributes.js | 2 +- server/api/chatWebsite/chatWebsite.controller.js | 2 +- server/api/chatWebsite/chatWebsite.model.js | 2 +- server/api/chatWebsite/chatWebsite.rpc.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/faxAccount/faxAccount.attributes.js | 2 +- server/api/faxAccount/faxAccount.controller.js | 2 +- server/api/faxAccount/faxAccount.model.js | 2 +- server/api/faxAccount/faxAccount.rpc.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 +- .../faxDisposition/faxDisposition.attributes.js | 2 +- .../faxDisposition/faxDisposition.controller.js | 2 +- server/api/faxDisposition/faxDisposition.model.js | 2 +- server/api/faxDisposition/faxDisposition.rpc.js | 2 +- server/api/faxDisposition/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 +- 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/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.model.js | 2 +- server/api/mailAccount/mailAccount.rpc.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/mailDisposition/index.js | 2 +- .../mailDisposition/mailDisposition.attributes.js | 2 +- .../mailDisposition/mailDisposition.controller.js | 2 +- .../api/mailDisposition/mailDisposition.model.js | 2 +- server/api/mailDisposition/mailDisposition.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/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/openchannelAccount.model.js | 2 +- .../openchannelAccount/openchannelAccount.rpc.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/openchannelDisposition/index.js | 2 +- .../openchannelDisposition.attributes.js | 2 +- .../openchannelDisposition.controller.js | 2 +- .../openchannelDisposition.model.js | 2 +- .../openchannelDisposition.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/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/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.model.js | 2 +- server/api/smsAccount/smsAccount.rpc.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/smsDisposition/index.js | 2 +- .../smsDisposition/smsDisposition.attributes.js | 2 +- .../smsDisposition/smsDisposition.controller.js | 2 +- server/api/smsDisposition/smsDisposition.model.js | 2 +- server/api/smsDisposition/smsDisposition.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/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/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.model.js | 2 +- server/api/squareProject/squareProject.rpc.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/voiceDisposition/index.js | 2 +- .../voiceDisposition.attributes.js | 2 +- .../voiceDisposition.controller.js | 2 +- .../api/voiceDisposition/voiceDisposition.model.js | 2 +- .../api/voiceDisposition/voiceDisposition.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/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/dashboards/run.js | 2 +- server/components/encryptor/index.js | 2 +- server/components/export/csv.js | 2 +- server/components/export/pdf.js | 2 +- server/components/export/xls.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 | 1 + 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/environment/development.js | 20 +- 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/index.js | 2 +- server/config/seed.js | 2 +- server/config/seedContact.js | 2 +- server/config/seedDB/migrations.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/migrations/2.0.59.js | 244 +++++ 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/polly/index.js | 2 +- server/services/agi/scripts/aws/polly/lib/api.js | 2 +- server/services/agi/scripts/google/asr/index.js | 2 +- server/services/agi/scripts/google/asr/lib/api.js | 2 +- server/services/agi/scripts/google/index.js | 2 +- server/services/agi/scripts/index.js | 2 +- server/services/agi/scripts/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/channel.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/voiceTrigger.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/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 | 1 + 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/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/autoreply.js | 2 +- .../services/routing/server/applications/close.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 +- .../services/routing/server/applications/utils.js | 2 +- server/services/routing/server/index.js | 2 +- server/services/routing/server/interval.js | 2 +- 1153 files changed, 9221 insertions(+), 8639 deletions(-) delete mode 100644 public/assets/ms-phonebar/sounds/dialpad/0.wav delete mode 100644 public/assets/ms-phonebar/sounds/dialpad/1.wav delete mode 100644 public/assets/ms-phonebar/sounds/dialpad/2.wav delete mode 100644 public/assets/ms-phonebar/sounds/dialpad/3.wav delete mode 100644 public/assets/ms-phonebar/sounds/dialpad/4.wav delete mode 100644 public/assets/ms-phonebar/sounds/dialpad/5.wav delete mode 100644 public/assets/ms-phonebar/sounds/dialpad/6.wav delete mode 100644 public/assets/ms-phonebar/sounds/dialpad/7.wav delete mode 100644 public/assets/ms-phonebar/sounds/dialpad/8.wav delete mode 100644 public/assets/ms-phonebar/sounds/dialpad/9.wav delete mode 100644 public/assets/ms-phonebar/sounds/dialpad/A.ogg delete mode 100644 public/assets/ms-phonebar/sounds/dialpad/A.wav delete mode 100644 public/assets/ms-phonebar/sounds/dialpad/B.ogg delete mode 100644 public/assets/ms-phonebar/sounds/dialpad/B.wav delete mode 100644 public/assets/ms-phonebar/sounds/dialpad/C.ogg delete mode 100644 public/assets/ms-phonebar/sounds/dialpad/C.wav delete mode 100644 public/assets/ms-phonebar/sounds/dialpad/D.ogg delete mode 100644 public/assets/ms-phonebar/sounds/dialpad/D.wav delete mode 100644 public/assets/ms-phonebar/sounds/dialpad/asterisk.wav delete mode 100644 public/assets/ms-phonebar/sounds/dialpad/pound.wav delete mode 100644 public/assets/ms-phonebar/sounds/incoming-call.wav delete mode 100644 public/assets/ms-phonebar/sounds/incoming-call2.ogg delete mode 100644 public/assets/ms-phonebar/sounds/incoming-chat.ogg delete mode 100644 public/assets/ms-phonebar/sounds/outgoing-call-rejected.wav delete mode 100644 public/assets/ms-phonebar/sounds/outgoing-call2.ogg delete mode 100644 public/scripts/app.8d3c9926.js create mode 100644 public/scripts/app.bb44f9cd.js delete mode 100644 public/styles/app.3b5d44bc.css create mode 100644 public/styles/app.b83aae6c.css create mode 100644 server/components/import/cm/csv2.js create mode 100644 server/migrations/2.0.59.js create mode 100644 server/services/ami/trigger/cmContact/index.js diff --git a/apidoc/api_data.js b/apidoc/api_data.js index 44b85fa..c82f08f 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": "String", "optional": false, "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": "String", "optional": false, "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 -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

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

Motion will return 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": "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/dispositions", "title": "Creates a new Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/chat/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateDispositions", "group": "Chat_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/chatDisposition/index.js", "groupTitle": "Chat_Dispositions" }, { "type": "delete", "url": "/api/chat/dispositions/{id}", "title": "Deletes a Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/chat/dispositions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteDispositions", "group": "Chat_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/chatDisposition/index.js", "groupTitle": "Chat_Dispositions" }, { "type": "get", "url": "/api/chat/dispositions/{id}", "title": "Gets a single Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/chat/dispositions/{id} -v -u {name}:{password}", "type": "json" } ], "name": "ShowDispositions", "group": "Chat_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/chatDisposition/index.js", "groupTitle": "Chat_Dispositions" }, { "type": "put", "url": "/api/chat/dispositions/{id}", "title": "Update an existing Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/chat/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateDispositions", "group": "Chat_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/chatDisposition/index.js", "groupTitle": "Chat_Dispositions" }, { "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": "" } ] } }, "description": "

Motion will return 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": "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}/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": "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": "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/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": 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": "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": "" } ] } }, "description": "

Motion will return 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", "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/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": "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}/dispositions", "title": "Creates new disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/chat/websites/{id}/dispositions -d '{\"name\": \"Satisfied\"}' \\ \n -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/websites/{id}/dispositions", "title": "Creates many dispositions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/chat/websites/{id}/dispositions -d '[{\"name\": \"Satisfied\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "addDispositions", "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": "" } ] } }, "description": "

Motion will return 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": "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}/dispositions", "title": "Gets Website 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": "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": "tags", "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": false, "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": "" } ] } }, "description": "

Motion will return 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/{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", "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": "post", "url": "/api/cm/contacts", "title": "Create Contacts", "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", "title": "Gets all the Contacts", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/cm/contacts -v -u {name}:{password} -X GET", "type": "json" } ], "name": "index", "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 '{\"ids\": [1, 2, 3]}' -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": "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\"}' -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": "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": "" } ] } }, "description": "

Motion will return 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/{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": "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": "tags", "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": false, "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": "" } ] } }, "description": "

Motion will return 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/lists/{id}/dispositions", "title": "Creates a new sub disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/lists/{id}/disposition -d '{\"name\": \"SATISFIED\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "addDisposition", "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": "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 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/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/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": "" } ] } }, "description": "

Motion will return 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": "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": "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/{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/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}/dispositions", "title": "Creates new disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions -d '{\"name\": \"Satisfied\"}' \\ \n -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}/dispositions", "title": "Creates many dispositions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions -d '[{\"name\": \"Satisfied\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "addDispositions", "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/dispositions", "title": "Creates a new Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/fax/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateDispositions", "group": "Fax_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/faxDisposition/index.js", "groupTitle": "Fax_Dispositions" }, { "type": "delete", "url": "/api/fax/dispositions/{id}", "title": "Deletes a Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/fax/dispositions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteDispositions", "group": "Fax_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/faxDisposition/index.js", "groupTitle": "Fax_Dispositions" }, { "type": "get", "url": "/api/fax/dispositions/{id}", "title": "Gets a single Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/fax/dispositions/{id} -v -u {name}:{password}", "type": "json" } ], "name": "ShowDispositions", "group": "Fax_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/faxDisposition/index.js", "groupTitle": "Fax_Dispositions" }, { "type": "put", "url": "/api/fax/dispositions/{id}", "title": "Update an existing Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/fax/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateDispositions", "group": "Fax_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/faxDisposition/index.js", "groupTitle": "Fax_Dispositions" }, { "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}/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": "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": "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}/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": "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/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", "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": "" } ] } }, "description": "

Motion will return 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 -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": "String", "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": "String", "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 an existing License", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/license/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateLiense", "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}/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 Account", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/mail/accounts/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteAccounts", "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}/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}/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": "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_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/mailMessage/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\"}' \\ \n -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}/dispositions", "title": "Creates many dispositions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions -d '[{\"name\": \"vip\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "addDispositions", "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": "Text", "optional": true, "field": "subject", "description": "" }, { "group": "Body", "type": "Boolean", "optional": true, "field": "attach", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "read1stAt", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "substatus", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "substatusAt", "description": "" }, { "group": "Body", "type": "String", "allowedValues": [ "\"in\"", "\"out\"" ], "optional": false, "field": "firstMsgDirection", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "lastMsgAt", "description": "" }, { "group": "Body", "type": "String", "allowedValues": [ "\"in\"", "\"out\"" ], "optional": false, "field": "lastMsgDirection", "description": "" } ] } }, "description": "

Motion will return 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": "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_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/mailMessage/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/dispositions", "title": "Creates a new Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/mail/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateDispositions", "group": "Mail_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/mailDisposition/index.js", "groupTitle": "Mail_Dispositions" }, { "type": "delete", "url": "/api/mail/dispositions/{id}", "title": "Deletes a Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/mail/dispositions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteDispositions", "group": "Mail_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/mailDisposition/index.js", "groupTitle": "Mail_Dispositions" }, { "type": "get", "url": "/api/mail/dispositions/{id}", "title": "Gets a single Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/mail/dispositions/{id} -v -u {name}:{password}", "type": "json" } ], "name": "ShowDispositions", "group": "Mail_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/mailDisposition/index.js", "groupTitle": "Mail_Dispositions" }, { "type": "put", "url": "/api/mail/dispositions/{id}", "title": "Update an existing Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/mail/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateDispositions", "group": "Mail_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/mailDisposition/index.js", "groupTitle": "Mail_Dispositions" }, { "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": "Text", "optional": true, "field": "subject", "description": "" }, { "group": "Body", "type": "Boolean", "optional": true, "field": "attach", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "read1stAt", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "substatus", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "substatusAt", "description": "" }, { "group": "Body", "type": "String", "allowedValues": [ "\"in\"", "\"out\"" ], "optional": false, "field": "firstMsgDirection", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "lastMsgAt", "description": "" }, { "group": "Body", "type": "String", "allowedValues": [ "\"in\"", "\"out\"" ], "optional": false, "field": "lastMsgDirection", "description": "" } ] } }, "description": "

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

Motion will return 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}/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": "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": "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": "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 -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", "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": "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": "" } ] } }, "description": "

Motion will return 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": "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": "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\": \"Satisfied\"}' \\ \n -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": "post", "url": "/api/openchannel/accounts/{id}/dispositions", "title": "Creates many dispositions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions -d '[{\"name\": \"Satisfied\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "addDispositions", "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": "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/dispositions", "title": "Creates a new Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/openchannel/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateDispositions", "group": "Openchannel_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/openchannelDisposition/index.js", "groupTitle": "Openchannel_Dispositions" }, { "type": "delete", "url": "/api/openchannel/dispositions/{id}", "title": "Deletes a Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/openchannel/dispositions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteDispositions", "group": "Openchannel_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/openchannelDisposition/index.js", "groupTitle": "Openchannel_Dispositions" }, { "type": "get", "url": "/api/openchannel/dispositions/{id}", "title": "Gets a single Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/openchannel/dispositions/{id} -v -u {name}:{password}", "type": "json" } ], "name": "ShowDispositions", "group": "Openchannel_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/openchannelDisposition/index.js", "groupTitle": "Openchannel_Dispositions" }, { "type": "put", "url": "/api/openchannel/dispositions/{id}", "title": "Update an existing Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/openchannel/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateDispositions", "group": "Openchannel_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/openchannelDisposition/index.js", "groupTitle": "Openchannel_Dispositions" }, { "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": "" } ] } }, "description": "

Motion will return 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/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": "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/mailAccount/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}/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/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/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": "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": "updateProcesses", "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/waitinginteractions", "title": "Gets a list of chatQueuesWaitingInteractions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/rpc/voice/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": "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": "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": "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": "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": "" } ] } }, "description": "

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

Motion will return 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": "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": "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\": \"Satisfied\"}' \\ \n -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": "post", "url": "/api/sms/accounts/{id}/dispositions", "title": "Creates many dispositions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions -d '[{\"name\": \"Satisfied\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "addDispositions", "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/dispositions", "title": "Creates a new Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/sms/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateDispositions", "group": "Sms_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/smsDisposition/index.js", "groupTitle": "Sms_Dispositions" }, { "type": "delete", "url": "/api/sms/dispositions/{id}", "title": "Deletes a Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/sms/dispositions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteDispositions", "group": "Sms_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/smsDisposition/index.js", "groupTitle": "Sms_Dispositions" }, { "type": "get", "url": "/api/sms/dispositions/{id}", "title": "Gets a single Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/sms/dispositions/{id} -v -u {name}:{password}", "type": "json" } ], "name": "ShowDispositions", "group": "Sms_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/smsDisposition/index.js", "groupTitle": "Sms_Dispositions" }, { "type": "put", "url": "/api/sms/dispositions/{id}", "title": "Update an existing Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/sms/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateDispositions", "group": "Sms_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/smsDisposition/index.js", "groupTitle": "Sms_Dispositions" }, { "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}/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": "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/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": "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": "" } ] } }, "description": "

Motion will return 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/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": "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": "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/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/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/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/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": "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": "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

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

Motion will return 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", "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}/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}/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}/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": 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": "" } ] } }, "description": "

Motion will return 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}/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/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/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/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}/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/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}/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}/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}/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": "post", "url": "/api/voice/dispositions", "title": "Creates a new Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/voice/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateDispositions", "group": "Voice_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/voiceDisposition/index.js", "groupTitle": "Voice_Dispositions" }, { "type": "delete", "url": "/api/voice/dispositions/{id}", "title": "Deletes a Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/voice/dispositions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteDispositions", "group": "Voice_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/voiceDisposition/index.js", "groupTitle": "Voice_Dispositions" }, { "type": "get", "url": "/api/voice/dispositions", "title": "Gets a list of Dispositions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/voice/dispositions -v -u {name}:{password}", "type": "json" } ], "name": "GetDispositions", "group": "Voice_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/voice/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/voice/dispositions?name=john.doe,jane.miller

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

GET /api/voice/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/voice/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/voice/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/voiceDisposition/index.js", "groupTitle": "Voice_Dispositions" }, { "type": "get", "url": "/api/voice/dispositions/{id}", "title": "Gets a single Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/voice/dispositions/{id} -v -u {name}:{password}", "type": "json" } ], "name": "ShowDispositions", "group": "Voice_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/voiceDisposition/index.js", "groupTitle": "Voice_Dispositions" }, { "type": "put", "url": "/api/voice/dispositions/{id}", "title": "Update an existing Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/voice/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateDispositions", "group": "Voice_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/voiceDisposition/index.js", "groupTitle": "Voice_Dispositions" }, { "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": "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", "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": "" } ] } }, "description": "

Motion will return 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/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": "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": "String", "optional": false, "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": "String", "optional": false, "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 -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/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/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/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

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

Motion will return 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": "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/dispositions", "title": "Creates a new Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/chat/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateDispositions", "group": "Chat_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/chatDisposition/index.js", "groupTitle": "Chat_Dispositions" }, { "type": "delete", "url": "/api/chat/dispositions/{id}", "title": "Deletes a Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/chat/dispositions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteDispositions", "group": "Chat_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/chatDisposition/index.js", "groupTitle": "Chat_Dispositions" }, { "type": "get", "url": "/api/chat/dispositions/{id}", "title": "Gets a single Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/chat/dispositions/{id} -v -u {name}:{password}", "type": "json" } ], "name": "ShowDispositions", "group": "Chat_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/chatDisposition/index.js", "groupTitle": "Chat_Dispositions" }, { "type": "put", "url": "/api/chat/dispositions/{id}", "title": "Update an existing Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/chat/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateDispositions", "group": "Chat_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/chatDisposition/index.js", "groupTitle": "Chat_Dispositions" }, { "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": "openedBy", "description": "" } ] } }, "description": "

Motion will return 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": "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/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": 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": "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": "" } ] } }, "description": "

Motion will return 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", "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/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": "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}/dispositions", "title": "Creates new disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/chat/websites/{id}/dispositions -d '{\"name\": \"Satisfied\"}' \\ \n -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/websites/{id}/dispositions", "title": "Creates many dispositions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/chat/websites/{id}/dispositions -d '[{\"name\": \"Satisfied\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "addDispositions", "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": "openedBy", "description": "" } ] } }, "description": "

Motion will return 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": "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}/dispositions", "title": "Gets Website 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": "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": "tags", "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": false, "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": "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/{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", "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": "post", "url": "/api/cm/contacts", "title": "Create Contacts", "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", "title": "Gets all the Contacts", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/cm/contacts -v -u {name}:{password} -X GET", "type": "json" } ], "name": "index", "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 '{\"ids\": [1, 2, 3]}' -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": "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\"}' -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": "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/{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": "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": "tags", "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": false, "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": "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/lists/{id}/dispositions", "title": "Creates a new sub disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/lists/{id}/disposition -d '{\"name\": \"SATISFIED\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "addDisposition", "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": "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 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/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": "" } ] } }, "description": "

Motion will return 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": "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": "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/{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/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}/dispositions", "title": "Creates new disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions -d '{\"name\": \"Satisfied\"}' \\ \n -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}/dispositions", "title": "Creates many dispositions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions -d '[{\"name\": \"Satisfied\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "addDispositions", "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": "" }, { "group": "Body", "type": "String", "optional": true, "field": "openedBy", "description": "" } ] } }, "description": "

Motion will return 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/dispositions", "title": "Creates a new Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/fax/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateDispositions", "group": "Fax_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/faxDisposition/index.js", "groupTitle": "Fax_Dispositions" }, { "type": "delete", "url": "/api/fax/dispositions/{id}", "title": "Deletes a Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/fax/dispositions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteDispositions", "group": "Fax_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/faxDisposition/index.js", "groupTitle": "Fax_Dispositions" }, { "type": "get", "url": "/api/fax/dispositions/{id}", "title": "Gets a single Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/fax/dispositions/{id} -v -u {name}:{password}", "type": "json" } ], "name": "ShowDispositions", "group": "Fax_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/faxDisposition/index.js", "groupTitle": "Fax_Dispositions" }, { "type": "put", "url": "/api/fax/dispositions/{id}", "title": "Update an existing Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/fax/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateDispositions", "group": "Fax_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/faxDisposition/index.js", "groupTitle": "Fax_Dispositions" }, { "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": "" }, { "group": "Body", "type": "String", "optional": true, "field": "openedBy", "description": "" } ] } }, "description": "

Motion will return 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}/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": "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/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", "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": "" } ] } }, "description": "

Motion will return 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 -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": "String", "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": "String", "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 an existing License", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/license/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateLiense", "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}/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 Account", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/mail/accounts/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteAccounts", "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}/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}/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": "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_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/mailMessage/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\"}' \\ \n -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}/dispositions", "title": "Creates many dispositions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions -d '[{\"name\": \"vip\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "addDispositions", "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": "Text", "optional": true, "field": "subject", "description": "" }, { "group": "Body", "type": "Boolean", "optional": true, "field": "attach", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "read1stAt", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "substatus", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "substatusAt", "description": "" }, { "group": "Body", "type": "String", "allowedValues": [ "\"in\"", "\"out\"" ], "optional": false, "field": "firstMsgDirection", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "lastMsgAt", "description": "" }, { "group": "Body", "type": "String", "allowedValues": [ "\"in\"", "\"out\"" ], "optional": false, "field": "lastMsgDirection", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "openedBy", "description": "" } ] } }, "description": "

Motion will return 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": "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_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/mailMessage/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/dispositions", "title": "Creates a new Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/mail/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateDispositions", "group": "Mail_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/mailDisposition/index.js", "groupTitle": "Mail_Dispositions" }, { "type": "delete", "url": "/api/mail/dispositions/{id}", "title": "Deletes a Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/mail/dispositions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteDispositions", "group": "Mail_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/mailDisposition/index.js", "groupTitle": "Mail_Dispositions" }, { "type": "get", "url": "/api/mail/dispositions/{id}", "title": "Gets a single Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/mail/dispositions/{id} -v -u {name}:{password}", "type": "json" } ], "name": "ShowDispositions", "group": "Mail_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/mailDisposition/index.js", "groupTitle": "Mail_Dispositions" }, { "type": "put", "url": "/api/mail/dispositions/{id}", "title": "Update an existing Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/mail/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateDispositions", "group": "Mail_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/mailDisposition/index.js", "groupTitle": "Mail_Dispositions" }, { "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": "Text", "optional": true, "field": "subject", "description": "" }, { "group": "Body", "type": "Boolean", "optional": true, "field": "attach", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "read1stAt", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "substatus", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "substatusAt", "description": "" }, { "group": "Body", "type": "String", "allowedValues": [ "\"in\"", "\"out\"" ], "optional": false, "field": "firstMsgDirection", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "lastMsgAt", "description": "" }, { "group": "Body", "type": "String", "allowedValues": [ "\"in\"", "\"out\"" ], "optional": false, "field": "lastMsgDirection", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "openedBy", "description": "" } ] } }, "description": "

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

Motion will return 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}/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": "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": "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": "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 -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", "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": "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": "" } ] } }, "description": "

Motion will return 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": "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": "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\": \"Satisfied\"}' \\ \n -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": "post", "url": "/api/openchannel/accounts/{id}/dispositions", "title": "Creates many dispositions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions -d '[{\"name\": \"Satisfied\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "addDispositions", "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": "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/dispositions", "title": "Creates a new Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/openchannel/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateDispositions", "group": "Openchannel_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/openchannelDisposition/index.js", "groupTitle": "Openchannel_Dispositions" }, { "type": "delete", "url": "/api/openchannel/dispositions/{id}", "title": "Deletes a Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/openchannel/dispositions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteDispositions", "group": "Openchannel_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/openchannelDisposition/index.js", "groupTitle": "Openchannel_Dispositions" }, { "type": "get", "url": "/api/openchannel/dispositions/{id}", "title": "Gets a single Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/openchannel/dispositions/{id} -v -u {name}:{password}", "type": "json" } ], "name": "ShowDispositions", "group": "Openchannel_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/openchannelDisposition/index.js", "groupTitle": "Openchannel_Dispositions" }, { "type": "put", "url": "/api/openchannel/dispositions/{id}", "title": "Update an existing Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/openchannel/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateDispositions", "group": "Openchannel_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/openchannelDisposition/index.js", "groupTitle": "Openchannel_Dispositions" }, { "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": "openedBy", "description": "" } ] } }, "description": "

Motion will return 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/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": "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/mailAccount/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}/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/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/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": "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": "updateProcesses", "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/waitinginteractions", "title": "Gets a list of chatQueuesWaitingInteractions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/rpc/voice/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": "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": "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": "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": "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": "" } ] } }, "description": "

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

Motion will return 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": "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": "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\": \"Satisfied\"}' \\ \n -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": "post", "url": "/api/sms/accounts/{id}/dispositions", "title": "Creates many dispositions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions -d '[{\"name\": \"Satisfied\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "addDispositions", "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/dispositions", "title": "Creates a new Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/sms/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateDispositions", "group": "Sms_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/smsDisposition/index.js", "groupTitle": "Sms_Dispositions" }, { "type": "delete", "url": "/api/sms/dispositions/{id}", "title": "Deletes a Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/sms/dispositions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteDispositions", "group": "Sms_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/smsDisposition/index.js", "groupTitle": "Sms_Dispositions" }, { "type": "get", "url": "/api/sms/dispositions/{id}", "title": "Gets a single Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/sms/dispositions/{id} -v -u {name}:{password}", "type": "json" } ], "name": "ShowDispositions", "group": "Sms_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/smsDisposition/index.js", "groupTitle": "Sms_Dispositions" }, { "type": "put", "url": "/api/sms/dispositions/{id}", "title": "Update an existing Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/sms/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateDispositions", "group": "Sms_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/smsDisposition/index.js", "groupTitle": "Sms_Dispositions" }, { "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": "" }, { "group": "Body", "type": "String", "optional": true, "field": "openedBy", "description": "" } ] } }, "description": "

Motion will return 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}/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": "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/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": "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": "" } ] } }, "description": "

Motion will return 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/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": "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": "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/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/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/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/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": "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": "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

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

Motion will return 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", "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}/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}/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}/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": "" } ] } }, "description": "

Motion will return 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}/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/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/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/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}/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/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}/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}/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}/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": "post", "url": "/api/voice/dispositions", "title": "Creates a new Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/voice/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateDispositions", "group": "Voice_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/voiceDisposition/index.js", "groupTitle": "Voice_Dispositions" }, { "type": "delete", "url": "/api/voice/dispositions/{id}", "title": "Deletes a Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/voice/dispositions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteDispositions", "group": "Voice_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/voiceDisposition/index.js", "groupTitle": "Voice_Dispositions" }, { "type": "get", "url": "/api/voice/dispositions", "title": "Gets a list of Dispositions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/voice/dispositions -v -u {name}:{password}", "type": "json" } ], "name": "GetDispositions", "group": "Voice_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/voice/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/voice/dispositions?name=john.doe,jane.miller

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

GET /api/voice/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/voice/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/voice/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/voiceDisposition/index.js", "groupTitle": "Voice_Dispositions" }, { "type": "get", "url": "/api/voice/dispositions/{id}", "title": "Gets a single Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/voice/dispositions/{id} -v -u {name}:{password}", "type": "json" } ], "name": "ShowDispositions", "group": "Voice_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/voiceDisposition/index.js", "groupTitle": "Voice_Dispositions" }, { "type": "put", "url": "/api/voice/dispositions/{id}", "title": "Update an existing Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/voice/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateDispositions", "group": "Voice_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/voiceDisposition/index.js", "groupTitle": "Voice_Dispositions" }, { "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": "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", "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": "" } ] } }, "description": "

Motion will return 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/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": "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 8c6ec82..323617b 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": "String", "optional": false, "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": "String", "optional": false, "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 -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

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

Motion will return 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": "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/dispositions", "title": "Creates a new Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/chat/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateDispositions", "group": "Chat_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/chatDisposition/index.js", "groupTitle": "Chat_Dispositions" }, { "type": "delete", "url": "/api/chat/dispositions/{id}", "title": "Deletes a Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/chat/dispositions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteDispositions", "group": "Chat_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/chatDisposition/index.js", "groupTitle": "Chat_Dispositions" }, { "type": "get", "url": "/api/chat/dispositions/{id}", "title": "Gets a single Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/chat/dispositions/{id} -v -u {name}:{password}", "type": "json" } ], "name": "ShowDispositions", "group": "Chat_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/chatDisposition/index.js", "groupTitle": "Chat_Dispositions" }, { "type": "put", "url": "/api/chat/dispositions/{id}", "title": "Update an existing Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/chat/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateDispositions", "group": "Chat_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/chatDisposition/index.js", "groupTitle": "Chat_Dispositions" }, { "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": "" } ] } }, "description": "

Motion will return 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": "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}/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": "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": "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/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": 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": "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": "" } ] } }, "description": "

Motion will return 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", "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/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": "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}/dispositions", "title": "Creates new disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/chat/websites/{id}/dispositions -d '{\"name\": \"Satisfied\"}' \\ \n -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/websites/{id}/dispositions", "title": "Creates many dispositions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/chat/websites/{id}/dispositions -d '[{\"name\": \"Satisfied\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "addDispositions", "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": "" } ] } }, "description": "

Motion will return 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": "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}/dispositions", "title": "Gets Website 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": "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": "tags", "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": false, "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": "" } ] } }, "description": "

Motion will return 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/{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", "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": "post", "url": "/api/cm/contacts", "title": "Create Contacts", "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", "title": "Gets all the Contacts", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/cm/contacts -v -u {name}:{password} -X GET", "type": "json" } ], "name": "index", "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 '{\"ids\": [1, 2, 3]}' -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": "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\"}' -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": "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": "" } ] } }, "description": "

Motion will return 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/{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": "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": "tags", "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": false, "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": "" } ] } }, "description": "

Motion will return 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/lists/{id}/dispositions", "title": "Creates a new sub disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/lists/{id}/disposition -d '{\"name\": \"SATISFIED\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "addDisposition", "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": "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 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/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/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": "" } ] } }, "description": "

Motion will return 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": "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": "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/{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/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}/dispositions", "title": "Creates new disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions -d '{\"name\": \"Satisfied\"}' \\ \n -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}/dispositions", "title": "Creates many dispositions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions -d '[{\"name\": \"Satisfied\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "addDispositions", "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/dispositions", "title": "Creates a new Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/fax/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateDispositions", "group": "Fax_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/faxDisposition/index.js", "groupTitle": "Fax_Dispositions" }, { "type": "delete", "url": "/api/fax/dispositions/{id}", "title": "Deletes a Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/fax/dispositions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteDispositions", "group": "Fax_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/faxDisposition/index.js", "groupTitle": "Fax_Dispositions" }, { "type": "get", "url": "/api/fax/dispositions/{id}", "title": "Gets a single Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/fax/dispositions/{id} -v -u {name}:{password}", "type": "json" } ], "name": "ShowDispositions", "group": "Fax_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/faxDisposition/index.js", "groupTitle": "Fax_Dispositions" }, { "type": "put", "url": "/api/fax/dispositions/{id}", "title": "Update an existing Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/fax/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateDispositions", "group": "Fax_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/faxDisposition/index.js", "groupTitle": "Fax_Dispositions" }, { "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}/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": "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": "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}/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": "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/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", "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": "" } ] } }, "description": "

Motion will return 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 -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": "String", "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": "String", "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 an existing License", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/license/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateLiense", "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}/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 Account", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/mail/accounts/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteAccounts", "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}/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}/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": "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_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/mailMessage/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\"}' \\ \n -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}/dispositions", "title": "Creates many dispositions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions -d '[{\"name\": \"vip\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "addDispositions", "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": "Text", "optional": true, "field": "subject", "description": "" }, { "group": "Body", "type": "Boolean", "optional": true, "field": "attach", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "read1stAt", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "substatus", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "substatusAt", "description": "" }, { "group": "Body", "type": "String", "allowedValues": [ "\"in\"", "\"out\"" ], "optional": false, "field": "firstMsgDirection", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "lastMsgAt", "description": "" }, { "group": "Body", "type": "String", "allowedValues": [ "\"in\"", "\"out\"" ], "optional": false, "field": "lastMsgDirection", "description": "" } ] } }, "description": "

Motion will return 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": "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_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/mailMessage/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/dispositions", "title": "Creates a new Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/mail/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateDispositions", "group": "Mail_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/mailDisposition/index.js", "groupTitle": "Mail_Dispositions" }, { "type": "delete", "url": "/api/mail/dispositions/{id}", "title": "Deletes a Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/mail/dispositions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteDispositions", "group": "Mail_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/mailDisposition/index.js", "groupTitle": "Mail_Dispositions" }, { "type": "get", "url": "/api/mail/dispositions/{id}", "title": "Gets a single Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/mail/dispositions/{id} -v -u {name}:{password}", "type": "json" } ], "name": "ShowDispositions", "group": "Mail_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/mailDisposition/index.js", "groupTitle": "Mail_Dispositions" }, { "type": "put", "url": "/api/mail/dispositions/{id}", "title": "Update an existing Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/mail/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateDispositions", "group": "Mail_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/mailDisposition/index.js", "groupTitle": "Mail_Dispositions" }, { "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": "Text", "optional": true, "field": "subject", "description": "" }, { "group": "Body", "type": "Boolean", "optional": true, "field": "attach", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "read1stAt", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "substatus", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "substatusAt", "description": "" }, { "group": "Body", "type": "String", "allowedValues": [ "\"in\"", "\"out\"" ], "optional": false, "field": "firstMsgDirection", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "lastMsgAt", "description": "" }, { "group": "Body", "type": "String", "allowedValues": [ "\"in\"", "\"out\"" ], "optional": false, "field": "lastMsgDirection", "description": "" } ] } }, "description": "

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

Motion will return 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}/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": "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": "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": "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 -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", "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": "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": "" } ] } }, "description": "

Motion will return 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": "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": "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\": \"Satisfied\"}' \\ \n -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": "post", "url": "/api/openchannel/accounts/{id}/dispositions", "title": "Creates many dispositions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions -d '[{\"name\": \"Satisfied\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "addDispositions", "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": "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/dispositions", "title": "Creates a new Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/openchannel/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateDispositions", "group": "Openchannel_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/openchannelDisposition/index.js", "groupTitle": "Openchannel_Dispositions" }, { "type": "delete", "url": "/api/openchannel/dispositions/{id}", "title": "Deletes a Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/openchannel/dispositions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteDispositions", "group": "Openchannel_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/openchannelDisposition/index.js", "groupTitle": "Openchannel_Dispositions" }, { "type": "get", "url": "/api/openchannel/dispositions/{id}", "title": "Gets a single Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/openchannel/dispositions/{id} -v -u {name}:{password}", "type": "json" } ], "name": "ShowDispositions", "group": "Openchannel_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/openchannelDisposition/index.js", "groupTitle": "Openchannel_Dispositions" }, { "type": "put", "url": "/api/openchannel/dispositions/{id}", "title": "Update an existing Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/openchannel/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateDispositions", "group": "Openchannel_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/openchannelDisposition/index.js", "groupTitle": "Openchannel_Dispositions" }, { "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": "" } ] } }, "description": "

Motion will return 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/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": "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/mailAccount/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}/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/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/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": "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": "updateProcesses", "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/waitinginteractions", "title": "Gets a list of chatQueuesWaitingInteractions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/rpc/voice/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": "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": "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": "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": "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": "" } ] } }, "description": "

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

Motion will return 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": "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": "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\": \"Satisfied\"}' \\ \n -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": "post", "url": "/api/sms/accounts/{id}/dispositions", "title": "Creates many dispositions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions -d '[{\"name\": \"Satisfied\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "addDispositions", "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/dispositions", "title": "Creates a new Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/sms/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateDispositions", "group": "Sms_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/smsDisposition/index.js", "groupTitle": "Sms_Dispositions" }, { "type": "delete", "url": "/api/sms/dispositions/{id}", "title": "Deletes a Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/sms/dispositions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteDispositions", "group": "Sms_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/smsDisposition/index.js", "groupTitle": "Sms_Dispositions" }, { "type": "get", "url": "/api/sms/dispositions/{id}", "title": "Gets a single Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/sms/dispositions/{id} -v -u {name}:{password}", "type": "json" } ], "name": "ShowDispositions", "group": "Sms_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/smsDisposition/index.js", "groupTitle": "Sms_Dispositions" }, { "type": "put", "url": "/api/sms/dispositions/{id}", "title": "Update an existing Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/sms/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateDispositions", "group": "Sms_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/smsDisposition/index.js", "groupTitle": "Sms_Dispositions" }, { "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}/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": "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/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": "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": "" } ] } }, "description": "

Motion will return 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/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": "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": "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/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/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/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/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": "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": "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

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

Motion will return 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", "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}/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}/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}/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": 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": "" } ] } }, "description": "

Motion will return 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}/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/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/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/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}/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/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}/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}/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}/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": "post", "url": "/api/voice/dispositions", "title": "Creates a new Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/voice/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateDispositions", "group": "Voice_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/voiceDisposition/index.js", "groupTitle": "Voice_Dispositions" }, { "type": "delete", "url": "/api/voice/dispositions/{id}", "title": "Deletes a Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/voice/dispositions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteDispositions", "group": "Voice_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/voiceDisposition/index.js", "groupTitle": "Voice_Dispositions" }, { "type": "get", "url": "/api/voice/dispositions", "title": "Gets a list of Dispositions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/voice/dispositions -v -u {name}:{password}", "type": "json" } ], "name": "GetDispositions", "group": "Voice_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/voice/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/voice/dispositions?name=john.doe,jane.miller

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

GET /api/voice/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/voice/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/voice/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/voiceDisposition/index.js", "groupTitle": "Voice_Dispositions" }, { "type": "get", "url": "/api/voice/dispositions/{id}", "title": "Gets a single Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/voice/dispositions/{id} -v -u {name}:{password}", "type": "json" } ], "name": "ShowDispositions", "group": "Voice_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/voiceDisposition/index.js", "groupTitle": "Voice_Dispositions" }, { "type": "put", "url": "/api/voice/dispositions/{id}", "title": "Update an existing Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/voice/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateDispositions", "group": "Voice_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/voiceDisposition/index.js", "groupTitle": "Voice_Dispositions" }, { "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": "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", "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": "" } ] } }, "description": "

Motion will return 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/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": "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": "String", "optional": false, "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": "String", "optional": false, "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 -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/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/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/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

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

Motion will return 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": "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/dispositions", "title": "Creates a new Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/chat/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateDispositions", "group": "Chat_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/chatDisposition/index.js", "groupTitle": "Chat_Dispositions" }, { "type": "delete", "url": "/api/chat/dispositions/{id}", "title": "Deletes a Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/chat/dispositions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteDispositions", "group": "Chat_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/chatDisposition/index.js", "groupTitle": "Chat_Dispositions" }, { "type": "get", "url": "/api/chat/dispositions/{id}", "title": "Gets a single Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/chat/dispositions/{id} -v -u {name}:{password}", "type": "json" } ], "name": "ShowDispositions", "group": "Chat_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/chatDisposition/index.js", "groupTitle": "Chat_Dispositions" }, { "type": "put", "url": "/api/chat/dispositions/{id}", "title": "Update an existing Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/chat/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateDispositions", "group": "Chat_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/chatDisposition/index.js", "groupTitle": "Chat_Dispositions" }, { "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": "openedBy", "description": "" } ] } }, "description": "

Motion will return 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": "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/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": 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": "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": "" } ] } }, "description": "

Motion will return 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", "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/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": "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}/dispositions", "title": "Creates new disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/chat/websites/{id}/dispositions -d '{\"name\": \"Satisfied\"}' \\ \n -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/websites/{id}/dispositions", "title": "Creates many dispositions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/chat/websites/{id}/dispositions -d '[{\"name\": \"Satisfied\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "addDispositions", "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": "openedBy", "description": "" } ] } }, "description": "

Motion will return 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": "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}/dispositions", "title": "Gets Website 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": "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": "tags", "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": false, "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": "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/{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", "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": "post", "url": "/api/cm/contacts", "title": "Create Contacts", "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", "title": "Gets all the Contacts", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/cm/contacts -v -u {name}:{password} -X GET", "type": "json" } ], "name": "index", "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 '{\"ids\": [1, 2, 3]}' -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": "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\"}' -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": "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/{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": "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": "tags", "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": false, "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": "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/lists/{id}/dispositions", "title": "Creates a new sub disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/lists/{id}/disposition -d '{\"name\": \"SATISFIED\"}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "addDisposition", "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": "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 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/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": "" } ] } }, "description": "

Motion will return 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": "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": "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/{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/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}/dispositions", "title": "Creates new disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions -d '{\"name\": \"Satisfied\"}' \\ \n -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}/dispositions", "title": "Creates many dispositions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/fax/accounts/{id}/dispositions -d '[{\"name\": \"Satisfied\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "addDispositions", "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": "" }, { "group": "Body", "type": "String", "optional": true, "field": "openedBy", "description": "" } ] } }, "description": "

Motion will return 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/dispositions", "title": "Creates a new Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/fax/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateDispositions", "group": "Fax_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/faxDisposition/index.js", "groupTitle": "Fax_Dispositions" }, { "type": "delete", "url": "/api/fax/dispositions/{id}", "title": "Deletes a Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/fax/dispositions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteDispositions", "group": "Fax_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/faxDisposition/index.js", "groupTitle": "Fax_Dispositions" }, { "type": "get", "url": "/api/fax/dispositions/{id}", "title": "Gets a single Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/fax/dispositions/{id} -v -u {name}:{password}", "type": "json" } ], "name": "ShowDispositions", "group": "Fax_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/faxDisposition/index.js", "groupTitle": "Fax_Dispositions" }, { "type": "put", "url": "/api/fax/dispositions/{id}", "title": "Update an existing Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/fax/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateDispositions", "group": "Fax_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/faxDisposition/index.js", "groupTitle": "Fax_Dispositions" }, { "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": "" }, { "group": "Body", "type": "String", "optional": true, "field": "openedBy", "description": "" } ] } }, "description": "

Motion will return 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}/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": "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/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", "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": "" } ] } }, "description": "

Motion will return 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 -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": "String", "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": "String", "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 an existing License", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/license/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateLiense", "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}/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 Account", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/mail/accounts/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteAccounts", "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}/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}/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": "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_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/mailMessage/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\"}' \\ \n -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}/dispositions", "title": "Creates many dispositions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/mail/accounts/{id}/dispositions -d '[{\"name\": \"vip\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "addDispositions", "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": "Text", "optional": true, "field": "subject", "description": "" }, { "group": "Body", "type": "Boolean", "optional": true, "field": "attach", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "read1stAt", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "substatus", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "substatusAt", "description": "" }, { "group": "Body", "type": "String", "allowedValues": [ "\"in\"", "\"out\"" ], "optional": false, "field": "firstMsgDirection", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "lastMsgAt", "description": "" }, { "group": "Body", "type": "String", "allowedValues": [ "\"in\"", "\"out\"" ], "optional": false, "field": "lastMsgDirection", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "openedBy", "description": "" } ] } }, "description": "

Motion will return 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": "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_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/mailMessage/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/dispositions", "title": "Creates a new Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/mail/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateDispositions", "group": "Mail_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/mailDisposition/index.js", "groupTitle": "Mail_Dispositions" }, { "type": "delete", "url": "/api/mail/dispositions/{id}", "title": "Deletes a Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/mail/dispositions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteDispositions", "group": "Mail_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/mailDisposition/index.js", "groupTitle": "Mail_Dispositions" }, { "type": "get", "url": "/api/mail/dispositions/{id}", "title": "Gets a single Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/mail/dispositions/{id} -v -u {name}:{password}", "type": "json" } ], "name": "ShowDispositions", "group": "Mail_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/mailDisposition/index.js", "groupTitle": "Mail_Dispositions" }, { "type": "put", "url": "/api/mail/dispositions/{id}", "title": "Update an existing Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/mail/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateDispositions", "group": "Mail_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/mailDisposition/index.js", "groupTitle": "Mail_Dispositions" }, { "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": "Text", "optional": true, "field": "subject", "description": "" }, { "group": "Body", "type": "Boolean", "optional": true, "field": "attach", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "read1stAt", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "substatus", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "substatusAt", "description": "" }, { "group": "Body", "type": "String", "allowedValues": [ "\"in\"", "\"out\"" ], "optional": false, "field": "firstMsgDirection", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "lastMsgAt", "description": "" }, { "group": "Body", "type": "String", "allowedValues": [ "\"in\"", "\"out\"" ], "optional": false, "field": "lastMsgDirection", "description": "" }, { "group": "Body", "type": "String", "optional": true, "field": "openedBy", "description": "" } ] } }, "description": "

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

Motion will return 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}/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": "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": "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": "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 -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", "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": "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": "" } ] } }, "description": "

Motion will return 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": "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": "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\": \"Satisfied\"}' \\ \n -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": "post", "url": "/api/openchannel/accounts/{id}/dispositions", "title": "Creates many dispositions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/openchannel/accounts/{id}/dispositions -d '[{\"name\": \"Satisfied\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "addDispositions", "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": "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/dispositions", "title": "Creates a new Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/openchannel/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateDispositions", "group": "Openchannel_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/openchannelDisposition/index.js", "groupTitle": "Openchannel_Dispositions" }, { "type": "delete", "url": "/api/openchannel/dispositions/{id}", "title": "Deletes a Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/openchannel/dispositions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteDispositions", "group": "Openchannel_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/openchannelDisposition/index.js", "groupTitle": "Openchannel_Dispositions" }, { "type": "get", "url": "/api/openchannel/dispositions/{id}", "title": "Gets a single Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/openchannel/dispositions/{id} -v -u {name}:{password}", "type": "json" } ], "name": "ShowDispositions", "group": "Openchannel_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/openchannelDisposition/index.js", "groupTitle": "Openchannel_Dispositions" }, { "type": "put", "url": "/api/openchannel/dispositions/{id}", "title": "Update an existing Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/openchannel/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateDispositions", "group": "Openchannel_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/openchannelDisposition/index.js", "groupTitle": "Openchannel_Dispositions" }, { "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": "openedBy", "description": "" } ] } }, "description": "

Motion will return 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/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": "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/mailAccount/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}/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/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/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": "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": "updateProcesses", "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/waitinginteractions", "title": "Gets a list of chatQueuesWaitingInteractions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/rpc/voice/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": "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": "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": "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": "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": "" } ] } }, "description": "

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

Motion will return 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": "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": "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\": \"Satisfied\"}' \\ \n -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": "post", "url": "/api/sms/accounts/{id}/dispositions", "title": "Creates many dispositions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/sms/accounts/{id}/dispositions -d '[{\"name\": \"Satisfied\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], "name": "addDispositions", "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/dispositions", "title": "Creates a new Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/sms/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateDispositions", "group": "Sms_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/smsDisposition/index.js", "groupTitle": "Sms_Dispositions" }, { "type": "delete", "url": "/api/sms/dispositions/{id}", "title": "Deletes a Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/sms/dispositions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteDispositions", "group": "Sms_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/smsDisposition/index.js", "groupTitle": "Sms_Dispositions" }, { "type": "get", "url": "/api/sms/dispositions/{id}", "title": "Gets a single Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/sms/dispositions/{id} -v -u {name}:{password}", "type": "json" } ], "name": "ShowDispositions", "group": "Sms_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/smsDisposition/index.js", "groupTitle": "Sms_Dispositions" }, { "type": "put", "url": "/api/sms/dispositions/{id}", "title": "Update an existing Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/sms/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateDispositions", "group": "Sms_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/smsDisposition/index.js", "groupTitle": "Sms_Dispositions" }, { "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": "" }, { "group": "Body", "type": "String", "optional": true, "field": "openedBy", "description": "" } ] } }, "description": "

Motion will return 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}/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": "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/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": "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": "" } ] } }, "description": "

Motion will return 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/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": "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": "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/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/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/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/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": "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": "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

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

Motion will return 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", "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}/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}/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}/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": "" } ] } }, "description": "

Motion will return 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}/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/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/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/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}/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/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}/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}/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}/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": "post", "url": "/api/voice/dispositions", "title": "Creates a new Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/voice/dispositions -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST", "type": "json" } ], "name": "CreateDispositions", "group": "Voice_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/voiceDisposition/index.js", "groupTitle": "Voice_Dispositions" }, { "type": "delete", "url": "/api/voice/dispositions/{id}", "title": "Deletes a Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/voice/dispositions/{id} -v -u {name}:{password} -X DELETE", "type": "json" } ], "name": "DeleteDispositions", "group": "Voice_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/voiceDisposition/index.js", "groupTitle": "Voice_Dispositions" }, { "type": "get", "url": "/api/voice/dispositions", "title": "Gets a list of Dispositions", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/voice/dispositions -v -u {name}:{password}", "type": "json" } ], "name": "GetDispositions", "group": "Voice_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/voice/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/voice/dispositions?name=john.doe,jane.miller

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

GET /api/voice/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/voice/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/voice/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/voiceDisposition/index.js", "groupTitle": "Voice_Dispositions" }, { "type": "get", "url": "/api/voice/dispositions/{id}", "title": "Gets a single Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/voice/dispositions/{id} -v -u {name}:{password}", "type": "json" } ], "name": "ShowDispositions", "group": "Voice_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/voiceDisposition/index.js", "groupTitle": "Voice_Dispositions" }, { "type": "put", "url": "/api/voice/dispositions/{id}", "title": "Update an existing Disposition", "examples": [ { "title": "Example usage:", "content": "curl https://{domain}/api/voice/dispositions/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT", "type": "json" } ], "name": "updateDispositions", "group": "Voice_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/voiceDisposition/index.js", "groupTitle": "Voice_Dispositions" }, { "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": "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", "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": "" } ] } }, "description": "

Motion will return 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/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": "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 074b5d0..9919d46 100644 --- a/apidoc/api_project.js +++ b/apidoc/api_project.js @@ -1 +1 @@ -define({ "name": "xCALLY Motion API", "version": "2.0.58", "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": "2018-05-29T09:44:00.273Z", "url": "http://apidocjs.com", "version": "0.17.6" } }); +define({ "name": "xCALLY Motion API", "version": "2.0.59", "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": "2018-06-13T09:31:24.538Z", "url": "http://apidocjs.com", "version": "0.17.6" } }); diff --git a/apidoc/api_project.json b/apidoc/api_project.json index 8e525dc..64e4115 100644 --- a/apidoc/api_project.json +++ b/apidoc/api_project.json @@ -1 +1 @@ -{ "name": "xCALLY Motion API", "version": "2.0.58", "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": "2018-05-29T09:44:00.273Z", "url": "http://apidocjs.com", "version": "0.17.6" } } +{ "name": "xCALLY Motion API", "version": "2.0.59", "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": "2018-06-13T09:31:24.538Z", "url": "http://apidocjs.com", "version": "0.17.6" } } diff --git a/package.json b/package.json index 611f3c9..1c23f83 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "motion", - "version": "2.0.58", + "version": "2.0.59", "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/footer/i18n/ja.json b/public/app/footer/i18n/ja.json index ac46437..13c61d4 100644 --- a/public/app/footer/i18n/ja.json +++ b/public/app/footer/i18n/ja.json @@ -1,6 +1,6 @@ { "FOOTER": { "ERRORS": {}, - "COOKIE_LAW": "私たちはあなたに最高の経験を与えるためにクッキーを使用しています。 クッキーポリシーをご覧ください。" + "COOKIE_LAW": "私たちはあなたに最高の経験を与えるためにクッキーを使用しています。 クッキーポリシーをご覧ください。" } } \ No newline at end of file diff --git a/public/app/forgot/i18n/es.json b/public/app/forgot/i18n/es.json index 1a34e2d..28c661b 100644 --- a/public/app/forgot/i18n/es.json +++ b/public/app/forgot/i18n/es.json @@ -1,15 +1,15 @@ { "FORGOTPASSWORD": { - "TITLE": "Recupere su contraseña", + "ERRORS": { + "EMAIL_MUST_VALID": "Formato erróneo", + "EMAIL_REQUIRED": "Campo obligatorio" + }, "EMAIL_ADRESS": "Dirección de correo electrónico", - "SEND_RESET_LINK": "Enviar vínculo Restablecer", - "GO_BACK": "Volver a inicio", + "GO_BACK": "Regrese para iniciar sesión", "LINK_SENT": "Enlace enviado", - "LINNK_SENT_MESSAGE": "Un correo electrónico que contiene un enlace para restablecer tu contraseña ha sido enviado a su dirección!", + "LINNK_SENT_MESSAGE": "¡Se ha enviado a su dirección un correo electrónico que contiene un enlace para restablecer su contraseña!", "PASSWORD_RESET_ERROR": "Error de restablecimiento de contraseña", - "ERRORS": { - "EMAIL_REQUIRED": "El correo electrónico es un campo obligatorio", - "EMAIL_MUST_VALID": "El correo electrónico debe ser una dirección de correo electrónico válida." - } + "SEND_RESET_LINK": "ENVIAR RESET LINK", + "TITLE": "recupera tu contraseña" } } \ No newline at end of file diff --git a/public/app/forgot/i18n/ja.json b/public/app/forgot/i18n/ja.json index 3585a6f..880ffde 100644 --- a/public/app/forgot/i18n/ja.json +++ b/public/app/forgot/i18n/ja.json @@ -1,15 +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": "電子メールは有効な電子メールアドレスにする必要があります。" - } + "EMAIL_MUST_VALID": "Eメールアドレスのフォーマットが異なります。", + "EMAIL_REQUIRED": "Eメールのフィールドは必須です。" + }, + "EMAIL_ADRESS": "メールアドレス", + "GO_BACK": "ログインに戻る", + "LINK_SENT": "リンク送信済み", + "LINNK_SENT_MESSAGE": "パスワードをリセットするためのリンクを含むEメールがあなたのメールアドレスに送信されました", + "PASSWORD_RESET_ERROR": "パスワードリセットエラー", + "SEND_RESET_LINK": "リセットリンクをクリックします。", + "TITLE": "パスワードの再設定" } } \ No newline at end of file diff --git a/public/app/login/i18n/es.json b/public/app/login/i18n/es.json index 4a09603..9ce9985 100644 --- a/public/app/login/i18n/es.json +++ b/public/app/login/i18n/es.json @@ -1,22 +1,22 @@ { "LOGIN": { - "TITLE": "Inicie sesión en su cuenta", - "EMAIL": "Correo electrónico", - "PASSWORD": "Contraseña", - "REMEMBER_ME": "Acuérdate de mí", - "FORGOT_PASSWORD": "¿Has olvidado tu contraseña?", - "LOG_IN": "Iniciar sesión", - "OR": "O", - "WITH_GOOGLE": "Inicie sesión con Google", - "WITH_FACEBOOK": "Iniciar sesión en Facebook", - "DONT_HAVE_ACCOUNT": "¿No tienes una cuenta?", - "CREATE_ACCOUNT": "Crear una cuenta", "ERRORS": { - "EMAIL_REQUIRED": "Campo obligatorio", "EMAIL_MUST_VALID": "Formato erróneo", + "EMAIL_REQUIRED": "Campo obligatorio", "PASSWORD_REQUIRED": "Campo obligatorio", "USERNAME_REQUIRED": "Campo obligatorio" }, - "USERNAME": "Nombre de usuario" + "CREATE_ACCOUNT": "Crea una cuenta", + "DONT_HAVE_ACCOUNT": "Sin cuenta?", + "EMAIL": "Email", + "FORGOT_PASSWORD": "¿Se te olvidó tu contraseña?", + "LOG_IN": "INICIAR SESIÓN", + "OR": "O", + "PASSWORD": "Contraseña", + "REMEMBER_ME": "Recuérdame", + "TITLE": "Ingrese a su cuenta", + "USERNAME": "Nombre de usuario", + "WITH_FACEBOOK": "Iniciar sesión con Facebook", + "WITH_GOOGLE": "Inicia sesión con Google" } } \ No newline at end of file diff --git a/public/app/login/i18n/ja.json b/public/app/login/i18n/ja.json index 25aab27..1b2e9ed 100644 --- a/public/app/login/i18n/ja.json +++ b/public/app/login/i18n/ja.json @@ -1,22 +1,22 @@ { "LOGIN": { - "TITLE": "あなたのアカウントにログインします。", - "EMAIL": "電子メール", - "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": "必須フィールド" + "EMAIL_MUST_VALID": "フォーマットが異なります", + "EMAIL_REQUIRED": "必須フィールドです", + "PASSWORD_REQUIRED": "必須フィールドです", + "USERNAME_REQUIRED": "必須フィールドです" }, - "USERNAME": "ユーザ名" + "CREATE_ACCOUNT": "アカウントを作成する", + "DONT_HAVE_ACCOUNT": "アカウントはありませんか?", + "EMAIL": "Eメール", + "FORGOT_PASSWORD": "パスワードをお忘れですか?", + "LOG_IN": "ログイン", + "OR": "または", + "PASSWORD": "パスワード", + "REMEMBER_ME": "記憶します", + "TITLE": "ご自分のアカウントでログインしてください", + "USERNAME": "ユーザー名", + "WITH_FACEBOOK": "Facebook でログイン", + "WITH_GOOGLE": "Google でログイン" } } \ No newline at end of file diff --git a/public/app/main/apps/analytics/i18n/en.json b/public/app/main/apps/analytics/i18n/en.json index 124bc32..420587e 100644 --- a/public/app/main/apps/analytics/i18n/en.json +++ b/public/app/main/apps/analytics/i18n/en.json @@ -8,7 +8,7 @@ "ID": "Id", "TABLE": "Table", "DESCRIPTION": "Description", - "SEARCH_FOR_ANYONE": "Search for anyone", + "SEARCH_FOR_ANYONE": "Search", "METRIC": "Metric", "ERRORS": { "NAME_REQUIRED": "Mandatory field", diff --git a/public/app/main/apps/analytics/i18n/es.json b/public/app/main/apps/analytics/i18n/es.json index c0c8c5d..1f87790 100644 --- a/public/app/main/apps/analytics/i18n/es.json +++ b/public/app/main/apps/analytics/i18n/es.json @@ -1,87 +1,87 @@ { "ANALYTICS": { - "NAME": "Nombre", - "ANALYTICS": "Analytics", - "METRICS": "La métrica", - "ID": "Id", - "TABLE": "Tabla", - "DESCRIPTION": "Descripción", - "SEARCH_FOR_ANYONE": "Buscar a alguien", - "METRIC": "Métrica", "ERRORS": { - "NAME_REQUIRED": "El nombre es obligatorio", - "METRIC_REQUIRED": "La métrica es obligatorio", - "COLUMN_REQUIRED": "La columna es necesaria", - "VALUE_REQUIRED": "El valor es obligatorio", - "CUSTOM_METRIC_REQUIRED": "La métrica personalizada es obligatorio", - "ALIAS_REQUIRED": "El alias es obligatorio" + "ALIAS_REQUIRED": "Campo obligatorio", + "COLUMN_REQUIRED": "Campo obligatorio", + "CUSTOM_METRIC_REQUIRED": "Campo obligatorio", + "METRIC_REQUIRED": "Campo obligatorio", + "NAME_REQUIRED": "Campo obligatorio", + "VALUE_REQUIRED": "Campo obligatorio" }, - "NEW_METRIC": "Nueva métrica", - "ADD_METRIC": "Agregar métricas", - "EDIT_METRIC": "Editar métrico", - "DELETE_METRIC": "Eliminar métrica", - "SAVE": "Guardar", - "BACK": "Volver", - "SELECTED": "Seleccionado", - "SELECT_ALL": "Seleccionar todo", - "SELECT_NONE": "Seleccione Ninguno", - "TYPE": "Tipo", - "EXTRACTEDREPORTS": "Informes extraídos", - "DATE_RANGE_FROM": "El rango de fecha de", - "DATE_RANGE_TO": "El rango de fechas a", - "GENERATED_AT": "Generado en", - "STATUS": "El estado", - "OUTPUT": "Salida", - "REPORTS": "Informes", - "SEARCH_FOR_FOLDER": "Busca la carpeta", - "CREATED_AT": "Creado en", - "NEW_REPORT": "Nuevo informe", + "ADD_METRIC": "Añadir métrica", "ADD_REPORT": "Agregar informe", + "ADD_REPORTFIELD": "Agregue campo", + "ALIAS": "Alias", + "ANALYTICS": "Analítica", + "BACK": "Espalda", + "CLOSE": "Cerca", + "COLUMN": "Columna", + "CONDITION": "Condición", + "CONDITIONS": "Condiciones", "COPY_REPORT": "Copiar informe", - "PREVIEW_REPORT": "Vista previa de informe", - "RUN_REPORT": "Ejecutar informe", - "DOWNLOAD_JSON_REPORT": "Informe Export JSON.", - "EDIT_REPORT": "Editar informe", - "DELETE_REPORT": "Eliminar informe", "CREATE": "Crear carpeta", - "RENAME": "Renombrar carpeta", - "REMOVE": "Eliminar carpeta", - "SELECT_NODE": "Seleccione la carpeta", + "CREATED_AT": "Creado en", + "CUSTOM_METRIC": "Métrica personalizada", + "DATE_RANGE_FROM": "Rango de fechas desde", + "DATE_RANGE_TO": "Rango de fechas a", + "DELETE": "Borrar", + "DELETE_EXTRACTEDREPORT": "Eliminar informe extraído", + "DELETE_METRIC": "Eliminar métrica", + "DELETE_REPORT": "Eliminar informe", + "DELETE_REPORTFIELD": "Eliminar campo", + "DESCRIPTION": "Descripción", + "DOWNLOAD_EXTRACTEDREPORT": "Descargar el informe extraído", + "DOWNLOAD_JSON_REPORT": "Informe de exportación JSON", + "EDIT_EXTRACTEDREPORT": "Editar informe extraído", + "EDIT_METRIC": "Editar métrica", + "EDIT_REPORT": "Editar informe", + "EDIT_REPORTFIELD": "Editar campo", "ERROR": "Error", - "QUERY_ERROR": "Error en la consulta", - "MESSAGE": "Mensaje", - "CLOSE": "Cerrar", + "EXTRACTEDREPORTS": "Informes extraídos", + "FIELDS": "Campos", "FORMAT": "Formato", - "SETTINGS": "Configuración", + "FUNCTION": "Función", "GENERAL": "General", - "FIELDS": "Campos", - "CONDITION": "Condición", - "OPERATOR": "Operador", + "GENERATED_AT": "Generado en", "GROUP": "Grupo", - "COLUMN": "Columna", - "VALUE": "Valor", - "PREVIEW": "Vista previa", - "LIMITED_RESULT": "*resultados limitados.", - "NO_DATA": "No hay resultados", - "CONDITIONS": "Condiciones", - "ALIAS": "Alias", - "FUNCTION": "Función", - "GROUP_BY": "Por grupo", - "ORDER_BY": "Ordenar por", - "ADD_REPORTFIELD": "Agregar campo", - "EDIT_REPORTFIELD": "Campo de edición", - "DELETE_REPORTFIELD": "Eliminar el campo", + "GROUP_BY": "Agrupar por", + "ID": "Id", + "LIMITED_RESULT": "* Resultados limitados", + "MESSAGE": "Mensaje", + "METRIC": "Métrica", + "METRICS": "Métrica", "METRIC_NAME": "Métrica", - "NO_METRIC_FOUND": "Métrica no encontrado", + "NAME": "Nombre", + "NEW_METRIC": "Nueva métrica", + "NEW_REPORT": "Nuevo reporte", "NO_AVAILABLE_INFO": "No hay información disponible", - "CUSTOM_METRIC": "Métrica personalizada", - "DELETE_EXTRACTEDREPORT": "Eliminar informe extraído", - "EDIT_EXTRACTEDREPORT": "Editar informe extraído", - "DOWNLOAD_EXTRACTEDREPORT": "Descargar informe extraído", + "NO_DATA": "No hay resultados de datos", + "NO_METRIC_FOUND": "No se encontró métrica", + "OF": "de", + "OPERATOR": "Operador", + "ORDER_BY": "Ordenar por", + "OUTPUT": "Salida", "PAGE": "Página", - "ROWSPERPAGE": "Filas por página.", - "OF": "De", - "DELETE": "Borrar", - "REPORTNAME": "Reportar nombre" + "PREVIEW": "Avance", + "PREVIEW_REPORT": "Informe de vista previa", + "QUERY_ERROR": "Error de consulta", + "REMOVE": "Eliminar carpeta", + "RENAME": "Renombrar carpeta", + "REPORTNAME": "Reportar nombre", + "REPORTS": "Informes", + "ROWSPERPAGE": "Filas por página", + "RUN_REPORT": "Sacar un reporte", + "SAVE": "Salvar", + "SEARCH_FOR_ANYONE": "Busque a alguien", + "SEARCH_FOR_FOLDER": "Buscar carpeta", + "SELECTED": "Seleccionado", + "SELECT_ALL": "Seleccionar todo", + "SELECT_NODE": "Seleccione la carpeta", + "SELECT_NONE": "Seleccione Ninguno", + "SETTINGS": "Configuraciones", + "STATUS": "Estado", + "TABLE": "Mesa", + "TYPE": "Tipo", + "VALUE": "Valor" } } \ No newline at end of file diff --git a/public/app/main/apps/analytics/i18n/ja.json b/public/app/main/apps/analytics/i18n/ja.json index 4d6eaf6..ea129c1 100644 --- a/public/app/main/apps/analytics/i18n/ja.json +++ b/public/app/main/apps/analytics/i18n/ja.json @@ -1,87 +1,87 @@ { "ANALYTICS": { - "NAME": "名", - "ANALYTICS": "分析", - "METRICS": "メトリック", - "ID": "Id", - "TABLE": "テーブル", - "DESCRIPTION": "説明", - "SEARCH_FOR_ANYONE": "だれでものための検索", - "METRIC": "メトリック", "ERRORS": { - "NAME_REQUIRED": "名前は必須です", - "METRIC_REQUIRED": "メトリックが必要です", - "COLUMN_REQUIRED": "列が必要です", - "VALUE_REQUIRED": "の値が必要です", - "CUSTOM_METRIC_REQUIRED": "カスタムメトリックが必要です", - "ALIAS_REQUIRED": "エイリアスが必要な" + "ALIAS_REQUIRED": "必須フィールド", + "COLUMN_REQUIRED": "必須フィールド", + "CUSTOM_METRIC_REQUIRED": "必須フィールド", + "METRIC_REQUIRED": "必須フィールド", + "NAME_REQUIRED": "必須フィールド", + "VALUE_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": "レポートの追加", + "ADD_REPORT": "レポートを追加", + "ADD_REPORTFIELD": "フィールドを追加", + "ALIAS": "エイリアス", + "ANALYTICS": "アナリティクス", + "BACK": "バック", + "CLOSE": "閉じる", + "COLUMN": "カラム", + "CONDITION": "調子", + "CONDITIONS": "条件", "COPY_REPORT": "レポートのコピー", - "PREVIEW_REPORT": "レポートのプレビュー", - "RUN_REPORT": "レポートを実行します", - "DOWNLOAD_JSON_REPORT": "レポートのエクスポート JSON", + "CREATE": "フォルダーを作る", + "CREATED_AT": "作成者:", + "CUSTOM_METRIC": "カスタムメトリック", + "DATE_RANGE_FROM": "日付範囲", + "DATE_RANGE_TO": "日付範囲", + "DELETE": "削除", + "DELETE_EXTRACTEDREPORT": "抽出されたレポートを削除する", + "DELETE_METRIC": "指標の削除", + "DELETE_REPORT": "レポートの削除", + "DELETE_REPORTFIELD": "フィールドの削除", + "DESCRIPTION": "説明", + "DOWNLOAD_EXTRACTEDREPORT": "抽出レポートをダウンロード", + "DOWNLOAD_JSON_REPORT": "レポートのエクスポートJSON", + "EDIT_EXTRACTEDREPORT": "抽出されたレポートの編集", + "EDIT_METRIC": "指標の編集", "EDIT_REPORT": "レポートの編集", - "DELETE_REPORT": "レポートを削除します。", - "CREATE": "フォルダを作成します。", - "RENAME": "フォルダの名前を変更する", - "REMOVE": "」フォルダを削除します。", - "SELECT_NODE": "フォルダを選択します", - "ERROR": "エラーが発生しました", - "QUERY_ERROR": "クエリエラーが発生しました", - "MESSAGE": "メッセージ", - "CLOSE": "閉じる", - "FORMAT": "フォーマット", - "SETTINGS": "の設定", - "GENERAL": "一般的な", + "EDIT_REPORTFIELD": "編集フィールド", + "ERROR": "エラー", + "EXTRACTEDREPORTS": "抽出されたレポート", "FIELDS": "フィールド", - "CONDITION": "状態", - "OPERATOR": "演算子", - "GROUP": "グループ", - "COLUMN": "列", - "VALUE": "値", - "PREVIEW": "プレビュー", - "LIMITED_RESULT": "* 限られた結果", - "NO_DATA": "データの検索結果がありません", - "CONDITIONS": "条件", - "ALIAS": "エイリアス", + "FORMAT": "フォーマット", "FUNCTION": "関数", - "GROUP_BY": "グループで", - "ORDER_BY": "注文し", - "ADD_REPORTFIELD": "フィールドを追加する", - "EDIT_REPORTFIELD": "編集フィールド", - "DELETE_REPORTFIELD": "フィールドを削除する", + "GENERAL": "一般", + "GENERATED_AT": "生成された", + "GROUP": "グループ", + "GROUP_BY": "グループ化する", + "ID": "イド", + "LIMITED_RESULT": "*限定的な結果", + "MESSAGE": "メッセージ", + "METRIC": "メトリック", + "METRICS": "メトリック", "METRIC_NAME": "メトリック", - "NO_METRIC_FOUND": "メトリックが見つかりませんでした", - "NO_AVAILABLE_INFO": "使用可能な情報はありません", - "CUSTOM_METRIC": "カスタムメトリック", - "DELETE_EXTRACTEDREPORT": "抽出されたレポートを削除します。", - "EDIT_EXTRACTEDREPORT": "抽出されたレポートの編集", - "DOWNLOAD_EXTRACTEDREPORT": "抽出されたレポートのダウンロード", + "NAME": "名", + "NEW_METRIC": "新しいメトリック", + "NEW_REPORT": "新しいレポート", + "NO_AVAILABLE_INFO": "利用可能な情報がありません", + "NO_DATA": "データなし", + "NO_METRIC_FOUND": "メトリックが見つかりません", + "OF": "の", + "OPERATOR": "オペレーター", + "ORDER_BY": "注文する", + "OUTPUT": "出力", "PAGE": "ページ", + "PREVIEW": "プレビュー", + "PREVIEW_REPORT": "プレビューレポート", + "QUERY_ERROR": "クエリエラー", + "REMOVE": "フォルダを削除する", + "RENAME": "フォルダの名前を変更する", + "REPORTNAME": "レポート名", + "REPORTS": "レポート", "ROWSPERPAGE": "ページあたりの行数", - "OF": "の", - "DELETE": "削除", - "REPORTNAME": "レポート名" + "RUN_REPORT": "レポートを実行する", + "SAVE": "セーブ", + "SEARCH_FOR_ANYONE": "サーチ", + "SEARCH_FOR_FOLDER": "フォルダを検索する", + "SELECTED": "選択された", + "SELECT_ALL": "すべて選択", + "SELECT_NODE": "フォルダーを選択", + "SELECT_NONE": "選択なし", + "SETTINGS": "設定", + "STATUS": "状態", + "TABLE": "表", + "TYPE": "タイプ", + "VALUE": "値" } } \ No newline at end of file diff --git a/public/app/main/apps/callysquare/i18n/en.json b/public/app/main/apps/callysquare/i18n/en.json index d3602c1..958a576 100644 --- a/public/app/main/apps/callysquare/i18n/en.json +++ b/public/app/main/apps/callysquare/i18n/en.json @@ -11,7 +11,7 @@ "NAME": "Name", "ODBC": "ODBC", "TEST_ODBC": "Test ODBC", - "SEARCH_FOR_ANYONE": "Search for anyone", + "SEARCH_FOR_ANYONE": "Search", "BACK": "Back", "SELECTED": "Selected", "SELECT_ALL": "Select All", diff --git a/public/app/main/apps/callysquare/i18n/es.json b/public/app/main/apps/callysquare/i18n/es.json index 93d2250..df969a8 100644 --- a/public/app/main/apps/callysquare/i18n/es.json +++ b/public/app/main/apps/callysquare/i18n/es.json @@ -1,200 +1,200 @@ { "CALLYSQUARE": { - "NAME": "Nombre", - "ODBC": "ODBC", - "TEST_ODBC": "ODBC Test", - "SEARCH_FOR_ANYONE": "Buscar a alguien", - "BACK": "Volver", - "SELECTED": "Seleccionado", - "SELECT_ALL": "Seleccionar todo", - "SELECT_NONE": "Seleccione Ninguno", - "DSN": "El DSN", - "DESCRIPTION": "Descripción", - "ADD_ODBC": "Agregar ODBC", "ERRORS": { - "NAME_REQUIRED": "El nombre es obligatorio", - "DSN_REQUIRED": "El DSN es necesario", - "PROJECT_REQUIRED": "El proyecto es obligatorio", - "FIELD_REQUIRED": "El campo es obligatorio" + "DSN_REQUIRED": "Campo obligatorio", + "FIELD_REQUIRED": "Campo obligatorio", + "NAME_REQUIRED": "Campo obligatorio", + "PROJECT_REQUIRED": "Campo obligatorio" }, - "EDIT_ODBC": "Editar ODBC", - "DELETE_ODBC": "Eliminar ODBC", - "SAVE": "Guardar", - "PROJECTS": "Proyectos", + "HELP": { + "BCC": "Puede agregar varias direcciones separadas por comas (por ejemplo, john.doe@xcally.com, jane.miller@xcally.com)", + "CC": "Puede agregar varias direcciones separadas por comas (por ejemplo, john.doe@xcally.com, jane.miller@xcally.com)", + "DSN": "Ejemplo: DRIVER = MySQL; SERVER = 127.0.0.1; UID = xcall; PWD = contraseña; DATABASE = Motion", + "MAILBOX": "buzón @ contexto", + "TO": "Puede agregar varias direcciones separadas por comas (por ejemplo, john.doe@xcally.com, jane.miller@xcally.com)" + }, + "ACCOUNT_ID": "Cuenta", + "ADD_ODBC": "Añadir ODBC", "ADD_PROJECT": "Agregar proyecto", - "EDIT_PROJECT": "Editar proyecto", - "DELETE_PROJECT": "Eliminar proyecto", - "CALLYSQUARE": "Camente Square", - "ID": "Id", - "NEW_ODBC": "Nueva conexión ODBC.", - "SQUARERECORDINGS": "Grabaciones cuadrado", - "PROJECT": "Proyecto", - "UNIQUEID": "Identificador único", - "PHONE": "Teléfono", - "EXTEN": "Ampliar", + "ADD_VARIABLE": "Agregar variable", + "AGENTS": "Agentes", + "AGI": "AGI", + "ANSWER": "Responder", + "APPID": "ID de aplicación", + "APPLICATION": "Solicitud", + "APPSECRET": "App secreta", + "ARGS": "Argumentos", + "ATTACHMENT_NAME": "Nombre del archivo adjunto", + "ATTACHMENT_PATH": "Ruta de archivo adjunto", + "ATTACHMENT_TYPE": "Tipo de Adjunto", "AUDIO": "Audio", + "AWSPOLLY": "AWS Polly", + "AWS_ACCESS_KEY_ID": "ID de clave de acceso", + "AWS_POLLY_REGION": "Región", + "AWS_POLLY_VOICE": "Voz", + "AWS_SECRET_ACCESS_KEY": "Clave de acceso secreta", + "BACK": "Espalda", + "BCC": "BCC", + "BEEP": "Bip", + "CALLBACK": "Llamar de vuelta", + "CALLBACK_PRIORITY": "Prioridad", + "CALLYSQUARE": "Cally Square", + "CC": "CC", + "CHOOSE_ATTACHMENT": "Elija Adjunto", + "CLOSE": "Cerca", + "COMMAND": "Mando", + "CONDITION": "Condición", + "CONTEXT": "Contexto", + "COPY": "Dupdo", + "COPY_PROJECT": "Copiar proyecto", "CREATED_AT": "Creado en", - "NOTES": "Notas", - "NEW_PROJECT": "Nuevo proyecto", - "EDIT": "Edit", - "LABEL": "Label", - "ANSWER": "Answer", - "TIMEOUT": "Timeout", - "SIP_ID": "SIP", - "OPTS": "Options", - "URL": "URL", - "TRUNK_NAME": "Trunk", - "START": "Start", - "FINALLY": "Finally", - "END": "End", - "HANGUP": "Hangup", - "DIAL": "Dial", - "EXT_DIAL": "External Dial", - "QUEUE": "Queue", - "QUEUE_ID": "Queue", + "CUSTOM_APP": "Aplicación personalizada", + "DATABASE": "Base de datos", + "DELAY": "retraso [min]", + "DELETE": "Borrar", + "DELETE_ODBC": "Eliminar ODBC", + "DELETE_PROJECT": "Eliminar proyecto", + "DELETE_SQUARERECORDING": "Eliminar grabación", + "DESCRIPTION": "Descripción", + "DIAL": "Marcar", + "DIGIT": "Max Digits", + "DIGITS": "Dígitos", + "DOWNLOAD_SQUARERECORDING": "Descargar Recording", + "DROP_TO_UPLOAD": "DROP TO UPLOAD", + "DROP_TO_UPLOAD_MESSAGE": "También puede soltar archivos aquí para cargarlos. Solo XML - Max. 5 MB", + "DSN": "DSN", + "EDIT": "Editar", + "EDIT_ODBC": "Editar ODBC", + "EDIT_PROJECT": "Editar proyecto", + "EDIT_SQUARERECORDING": "Editar grabación", + "EDIT_XML": "Editar XML", + "END": "Fin", + "ESCAPE_DIGITS": "Dígitos de escape", + "EXTEN": "Exten", + "EXTENSION": "Extensión", + "EXT_DIAL": "Dial externo", + "FILE": "Nombre del archivo", + "FILENAME": "Nombre del archivo", "FILE_ID": "Audio", - "AGI": "AGI", - "MACRO": "Macro", + "FINALLY": "Finalmente", + "FINDBY": "Encontrar por", + "GETDIGITS": "Obtenga Dígitos", + "GETSECRETDIGITS": "Obtenga dígitos secretos", + "GOAL": "Gol", + "GOALNAME": "Nombre del objetivo", + "GOOGLEASR": "GoogleASR", + "GOOGLE_ASR_LANGUAGE": "Idioma", + "GOOGLE_TTS_LANGUAGE": "Idioma", "GOSUB": "GoSub", - "POSITION": "Position", - "VOICEMAIL": "Voicemail", - "MAILBOX": "Mailbox", - "OPTIONS": "Options", - "SET": "Set", - "VARIABLE_ID": "Variable", - "VARIABLE_VALUE": "Value", - "MATH": "Math", - "OPERATION": "Operation", - "PLAYBACK": "Playback", - "RESPONSE": "Response Timeout", - "DIGIT": "Max Digits", - "RETRY": "Retries", - "DIGITS": "Digits", - "ESCAPE_DIGITS": "Escape Digits", - "MENU": "Menu", - "SAYDIGITS": "Say Digits", - "SAYNUMBER": "Say number", - "NUMBER": "Number", - "SAYPHONETIC": "Say Phonetics", - "TEXT": "Text", - "GOOGLE_TTS_LANGUAGE": "Language", - "TTS": "Google Text-To-Speech", - "ISPEECHTTS": "ISpeech Text-To-Speech", - "KEY": "Key", - "ISPEECH_TTS_LANGUAGE": "Language", - "SPEED": "Speed", - "INTKEY": "Interrupt Key", - "GETDIGITS": "Get Digits", - "MINDIGIT": "Minimum Digits", - "MAXDIGIT": "Maximum Digits", - "HIDDENDIGITSNUM": "Hiddden Digits Number", - "HIDDENDIGITSPOS": "Hidden Digits Position", - "GETSECRETDIGITS": "Get Secret Digits", - "RECORD": "Record", - "FILE": "Filename", - "RECORDINGFORMAT": "Recording Format", - "DATABASE": "Database", - "ODBC_ID": "ODBC Connection", - "QUERY": "Query", - "MODEL": "Model", - "ISPEECH_ASR_LANGUAGE": "Language", - "BEEP": "Beep", - "ISPEECHASR": "ISpeech ASR", - "SENDSMS": "Send SMS", - "ACCOUNT_ID": "Account", - "TO": "To", - "SMS_TEXT": "Text", - "SENDMAIL": "Send Mail", - "TEMPLATE_ID": "Template", - "CC": "CC", - "BCC": "BCC", - "SUBJECT": "Subject", - "GOTOC": "GoTo", - "CONTEXT": "Context", - "EXTENSION": "Extension", - "PRIORITY": "Priority", + "GOTOC": "Ir", "GOTOIF": "GoToIf", - "CONDITION": "Condition", "GOTOIFTIME": "GoToIfTime", - "INTERVAL_ID": "Interval", - "VSWITCH": "Variable Switch", - "GOAL": "Goal", - "GOALNAME": "Goal Name", - "NOOP": "NoOp", - "OUTPUT": "Output", - "SYSTEM": "System", - "COMMAND": "Command", - "ARGS": "Arguments", - "SUBPROJECT": "Sub Project", - "PROJECT_ID": "Project", - "CUSTOM_APP": "Custom Application", - "APPLICATION": "Application", - "CALLBACK": "Callback", - "LASTNAME": "Last Name", - "LIST_ID": "List", - "DELAY": "Delay", - "OPEN_NEW_WINDOW": "Abrir en una ventana nueva.", - "OPEN_PROJECT": "Abrir proyecto", - "COPY": "Copiar", - "OPEN": "Abrir", - "NEW": "Nuevo", - "COPY_PROJECT": "Proyecto de copia", - "NEW_VARIABLE": "Nueva variable", - "ADD_VARIABLE": "Agregar variable", - "UPDATE_DESCRIPTION": "Descripción de actualización", - "EDIT_XML": "Editar XML", - "IMPORT_XML": "Importar XML", - "IMPORT": "Importar", - "DROP_TO_UPLOAD": "Soltar PARA SUBIR", - "DROP_TO_UPLOAD_MESSAGE": "También puede colocar archivos aquí para cargar. Sólo XML - Max. 5MB", - "CLOSE": "Cerrar", - "NO_AVAILABLE_INFO": "No hay información disponible", "GO_TO_PROJECTS": "Ir a proyectos", - "UPDATE_INFO": "Actualizar info", - "AGENTS": "Los agentes", - "TELEPHONES": "Teléfonos", - "USERS": "Los usuarios", - "HELP": { - "MAILBOX": "Buzón@contexto", - "DSN": "Ejemplo: DRIVER=MySQL;server=127.0.0.1;uid=xcall;pwd=contraseña;database=motion", - "TO": "Puede agregar varias direcciones con comas (por ejemplo, Jane.miller@xcally.com) john.doe@xcally.com", - "CC": "Puede agregar varias direcciones con comas (por ejemplo, Jane.miller@xcally.com) john.doe@xcally.com", - "BCC": "Puede agregar varias direcciones con comas (por ejemplo, Jane.miller@xcally.com) john.doe@xcally.com" - }, - "CHOOSE_ATTACHMENT": "Seleccione adjunto", - "ATTACHMENT_NAME": "Nombre de accesorio", - "ATTACHMENT_TYPE": "Tipo de conexión", - "ATTACHMENT_PATH": "Ruta de adjuntos", - "SENDFAX": "Enviar fax", - "DELETE_SQUARERECORDING": "Eliminar la grabación cuadrado", - "DOWNLOAD_SQUARERECORDING": "Descargar la grabación cuadrado", - "FILENAME": "Filename", - "EDIT_SQUARERECORDING": "Editar la grabación cuadrado", - "DELETE": "Eliminar", - "PAGE": "Página", - "ROWSPERPAGE": "Filas por página.", - "OF": "De", - "CALLBACK_PRIORITY": "Prioridad", - "GOOGLE_ASR_LANGUAGE": "Idioma", - "GOOGLEASR": "GoogleASR", - "AWSPOLLY": "Polly AWS", - "AWS_ACCESS_KEY_ID": "ID de clave de acceso", - "AWS_SECRET_ACCESS_KEY": "Clave de acceso secreta", - "AWS_POLLY_REGION": "Región", - "AWS_POLLY_VOICE": "Voz", - "LUMENVOXTTS": "Lumenvox Text-To-Speech", - "LUMENVOXASR": "Lumenvox ASR", "GRAMMAR": "Gramática", - "TILDEASR": "Tilde ASR", - "APPID": "App ID", - "APPSECRET": "App Secret", - "SMS_ACCOUNT_ID": "Cuenta", - "FINDBY": "Encontrar por", + "HANGUP": "Colgar", + "HIDDENDIGITSNUM": "Número de dígitos escondidos", + "HIDDENDIGITSPOS": "posición oculta de los dígitos", + "ID": "Id", + "IMPORT": "Importar", + "IMPORT_XML": "Importar XML", + "INTERVAL_ID": "Intervalo", + "INTKEY": "Clave de interrupción", + "ISPEECHASR": "iSpeech ASR", + "ISPEECHTTS": "iSpeech Text-To-Speech", + "ISPEECH_ASR_LANGUAGE": "Idioma", + "ISPEECH_TTS_LANGUAGE": "Idioma", + "KEY": "Llave", + "LABEL": "Etiqueta", + "LASTNAME": "Apellido", + "LIST_ID": "Lista", "LOGIN": "Iniciar sesión", "LOGOUT": "Cerrar sesión", + "LUMENVOXASR": "Lumenvox ASR", + "LUMENVOXTTS": "Texto a voz de Lumenvox", + "MACRO": "Macro", + "MAILBOX": "Buzón", + "MATH": "Mates", + "MAXDIGIT": "Dígitos máximos", + "MENU": "Menú", + "MINDIGIT": "Dígitos mínimos", + "MODEL": "Modelo", + "NAME": "Nombre", + "NEW": "Nuevo", + "NEW_ODBC": "Nueva conexión ODBC", + "NEW_PROJECT": "Nuevo proyecto", + "NEW_VARIABLE": "Nueva variable", + "NOOP": "NoOp", + "NOTES": "Notas", + "NO_AVAILABLE_INFO": "No hay información disponible", + "NUMBER": "Número", + "ODBC": "ODBC", + "ODBC_ID": "Conexión ODBC", + "OF": "de", + "OPEN": "Abierto", + "OPEN_NEW_WINDOW": "Abrir en una nueva ventana", + "OPEN_PROJECT": "Proyecto abierto", + "OPERATION": "Operación", + "OPTIONS": "Opciones", + "OPTS": "Opciones", + "OUTPUT": "Salida", + "PAGE": "Página", "PAUSE": "Pausa", "PAUSE_ID": "Tipo de pausa", + "PHONE": "Teléfono", + "PLAYBACK": "Reproducción", + "POSITION": "Posición", + "PRIORITY": "Prioridad", + "PROJECT": "Proyecto", + "PROJECTS": "Proyectos", + "PROJECT_ID": "Proyecto", + "QUERY": "Consulta", + "QUEUE": "Cola", + "QUEUE_ID": "Cola", + "RECORD": "Grabar", + "RECORDINGFORMAT": "Formato de grabación", + "RESPONSE": "Tiempo de espera de respuesta", + "RETRY": "Reintentos", + "ROWSPERPAGE": "Filas por página", + "SAVE": "Salvar", + "SAYDIGITS": "Say Digits", + "SAYNUMBER": "Decir número", + "SAYPHONETIC": "Decir Fonética", + "SEARCH_FOR_ANYONE": "Busque a alguien", + "SELECTED": "Seleccionado", + "SELECT_ALL": "Seleccionar todo", + "SELECT_NONE": "Seleccione Ninguno", + "SENDFAX": "Enviar fax", + "SENDMAIL": "Enviar correo electrónico", + "SENDSMS": "Enviar SMS", + "SET": "Conjunto", + "SIP_ID": "sorbo", + "SMS_ACCOUNT_ID": "Cuenta", + "SMS_TEXT": "Texto", + "SPEED": "Velocidad", + "SQUARERECORDINGS": "Grabaciones", + "START": "comienzo", + "SUBJECT": "Tema", + "SUBPROJECT": "Sub proyecto", + "SYSTEM": "Sistema", + "TELEPHONES": "Teléfonos", + "TEMPLATE_ID": "Modelo", + "TEST_ODBC": "Prueba ODBC", + "TEXT": "Texto", + "TILDEASR": "Tilde ASR", + "TIMEOUT": "Se acabó el tiempo", + "TO": "A", + "TRUNK_NAME": "El maletero", + "TTS": "Google Text-To-Speech", + "UNIQUEID": "Identificación única", "UNPAUSE": "Fin de pausa", - "URI": "URI" + "UPDATE_DESCRIPTION": "Descripción de la actualización", + "UPDATE_INFO": "Actualizar información", + "URI": "URI", + "URL": "URL", + "USERS": "Usuarios", + "VARIABLE_ID": "Variable", + "VARIABLE_VALUE": "Valor", + "VOICEMAIL": "Mensaje de voz", + "VSWITCH": "Interruptor variable" } } \ No newline at end of file diff --git a/public/app/main/apps/callysquare/i18n/ja.json b/public/app/main/apps/callysquare/i18n/ja.json index c862378..d7a12ef 100644 --- a/public/app/main/apps/callysquare/i18n/ja.json +++ b/public/app/main/apps/callysquare/i18n/ja.json @@ -1,200 +1,200 @@ { "CALLYSQUARE": { - "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": "は、 DSN が必要です", - "PROJECT_REQUIRED": "プロジェクトが必要です", - "FIELD_REQUIRED": "このフィールドは必須です" + "DSN_REQUIRED": "必須フィールド", + "FIELD_REQUIRED": "必須フィールド", + "NAME_REQUIRED": "必須フィールド", + "PROJECT_REQUIRED": "必須フィールド" }, - "EDIT_ODBC": "ODBC の編集", - "DELETE_ODBC": "ODBC を削除", - "SAVE": "保存", - "PROJECTS": "プロジェクト", - "ADD_PROJECT": "プロジェクトを追加します。", - "EDIT_PROJECT": "プロジェクトを編集", - "DELETE_PROJECT": "プロジェクトを削除する", - "CALLYSQUARE": "5 Cally 広場", - "ID": "Id", - "NEW_ODBC": "新しい ODBC 接続", - "SQUARERECORDINGS": "広場の録音", - "PROJECT": "プロジェクト", - "UNIQUEID": "一意の ID", - "PHONE": "電話", - "EXTEN": "拡張機能", - "AUDIO": "オーディオ", - "CREATED_AT": "で作成された", - "NOTES": "ノート", - "NEW_PROJECT": "新しいプロジェクト", - "EDIT": "Edit", - "LABEL": "Label", - "ANSWER": "Answer", - "TIMEOUT": "Timeout", - "SIP_ID": "SIP", - "OPTS": "Options", - "URL": "URL", - "TRUNK_NAME": "Trunk", - "START": "Start", - "FINALLY": "Finally", - "END": "End", - "HANGUP": "Hangup", - "DIAL": "Dial", - "EXT_DIAL": "External Dial", - "QUEUE": "Queue", - "QUEUE_ID": "Queue", - "FILE_ID": "Audio", - "AGI": "AGI", - "MACRO": "Macro", - "GOSUB": "GoSub", - "POSITION": "Position", - "VOICEMAIL": "Voicemail", - "MAILBOX": "Mailbox", - "OPTIONS": "Options", - "SET": "Set", - "VARIABLE_ID": "Variable", - "VARIABLE_VALUE": "Value", - "MATH": "Math", - "OPERATION": "Operation", - "PLAYBACK": "Playback", - "RESPONSE": "Response Timeout", - "DIGIT": "Max Digits", - "RETRY": "Retries", - "DIGITS": "Digits", - "ESCAPE_DIGITS": "Escape Digits", - "MENU": "Menu", - "SAYDIGITS": "Say Digits", - "SAYNUMBER": "Say number", - "NUMBER": "Number", - "SAYPHONETIC": "Say Phonetics", - "TEXT": "Text", - "GOOGLE_TTS_LANGUAGE": "Language", - "TTS": "Google Text-To-Speech", - "ISPEECHTTS": "ISpeech Text-To-Speech", - "KEY": "Key", - "ISPEECH_TTS_LANGUAGE": "Language", - "SPEED": "Speed", - "INTKEY": "Interrupt Key", - "GETDIGITS": "Get Digits", - "MINDIGIT": "Minimum Digits", - "MAXDIGIT": "Maximum Digits", - "HIDDENDIGITSNUM": "Hiddden Digits Number", - "HIDDENDIGITSPOS": "Hidden Digits Position", - "GETSECRETDIGITS": "Get Secret Digits", - "RECORD": "Record", - "FILE": "Filename", - "RECORDINGFORMAT": "Recording Format", - "DATABASE": "Database", - "ODBC_ID": "ODBC Connection", - "QUERY": "Query", - "MODEL": "Model", - "ISPEECH_ASR_LANGUAGE": "Language", - "BEEP": "Beep", - "ISPEECHASR": "ISpeech ASR", - "SENDSMS": "Send SMS", - "ACCOUNT_ID": "Account", - "TO": "To", - "SMS_TEXT": "Text", - "SENDMAIL": "Send Mail", - "TEMPLATE_ID": "Template", - "CC": "CC", - "BCC": "BCC", - "SUBJECT": "Subject", - "GOTOC": "GoTo", - "CONTEXT": "Context", - "EXTENSION": "Extension", - "PRIORITY": "Priority", - "GOTOIF": "GoToIf", - "CONDITION": "Condition", - "GOTOIFTIME": "GoToIfTime", - "INTERVAL_ID": "Interval", - "VSWITCH": "Variable Switch", - "GOAL": "Goal", - "GOALNAME": "Goal Name", - "NOOP": "NoOp", - "OUTPUT": "Output", - "SYSTEM": "System", - "COMMAND": "Command", - "ARGS": "Arguments", - "SUBPROJECT": "Sub Project", - "PROJECT_ID": "Project", - "CUSTOM_APP": "Custom Application", - "APPLICATION": "Application", - "CALLBACK": "Callback", - "LASTNAME": "Last Name", - "LIST_ID": "List", - "DELAY": "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 のみ - Max 。 5 MB", - "CLOSE": "閉じる", - "NO_AVAILABLE_INFO": "使用可能な情報はありません", - "GO_TO_PROJECTS": "プロジェクトの移動", - "UPDATE_INFO": "情報の更新", - "AGENTS": "エージェント", - "TELEPHONES": "電話", - "USERS": "ユーザー", "HELP": { - "MAILBOX": "@ コンテキストのメールボックス", - "DSN": "例: DRIVER = MySQL SERVER = 127.0.0.1 ; UID = xcall ; PWD = パスワードを入力します。データベース = モーション", - "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) 複数のアドレスを追加できます。" + "BCC": "コンマで区切って複数の住所を追加することができます(例:john.doe@xcally.com、jane.miller@xcally.com)", + "CC": "コンマで区切って複数の住所を追加することができます(例:john.doe@xcally.com、jane.miller@xcally.com)", + "DSN": "例:DRIVER = MySQL; SERVER = 127.0.0.1; UID = xcall; PWD =パスワード; DATABASE =モーション", + "MAILBOX": "メールボックス@コンテキスト", + "TO": "コンマで区切って複数の住所を追加することができます(例:john.doe@xcally.com、jane.miller@xcally.com)" }, - "CHOOSE_ATTACHMENT": "添付ファイルを選択します", - "ATTACHMENT_NAME": "添付ファイルの名前", - "ATTACHMENT_TYPE": "添付ファイルのタイプ", + "ACCOUNT_ID": "アカウント", + "ADD_ODBC": "ODBCの追加", + "ADD_PROJECT": "プロジェクトを追加", + "ADD_VARIABLE": "変数を追加", + "AGENTS": "エージェント", + "AGI": "AGI", + "ANSWER": "回答", + "APPID": "アプリケーションID", + "APPLICATION": "応用", + "APPSECRET": "Appのシークレット", + "ARGS": "引数", + "ATTACHMENT_NAME": "添付ファイル名", "ATTACHMENT_PATH": "添付ファイルのパス", - "SENDFAX": "ファクスを送信します。", - "DELETE_SQUARERECORDING": "広場の記録を削除", - "DOWNLOAD_SQUARERECORDING": "ダウンロード広場の録音", - "FILENAME": "ファイル名", - "EDIT_SQUARERECORDING": "編集広場の録音", + "ATTACHMENT_TYPE": "アタッチメントタイプ", + "AUDIO": "オーディオ", + "AWSPOLLY": "AWS Polly", + "AWS_ACCESS_KEY_ID": "アクセスキーID", + "AWS_POLLY_REGION": "領域", + "AWS_POLLY_VOICE": "音声", + "AWS_SECRET_ACCESS_KEY": "AWSのアクセスキー", + "BACK": "バック", + "BCC": "BCC", + "BEEP": "ビープ", + "CALLBACK": "折り返し電話", + "CALLBACK_PRIORITY": "優先", + "CALLYSQUARE": "カリースクエア", + "CC": "CC", + "CHOOSE_ATTACHMENT": "添付ファイルを選択", + "CLOSE": "閉じる", + "COMMAND": "コマンド", + "CONDITION": "調子", + "CONTEXT": "コンテキスト", + "COPY": "コピー", + "COPY_PROJECT": "プロジェクトをコピーする", + "CREATED_AT": "作成者:", + "CUSTOM_APP": "カスタムアプリケーション", + "DATABASE": "データベース", + "DELAY": "遅延[分]", "DELETE": "削除", - "PAGE": "ページ", - "ROWSPERPAGE": "ページあたりの行数", - "OF": "の", - "CALLBACK_PRIORITY": "優先順位", - "GOOGLE_ASR_LANGUAGE": "言語", + "DELETE_ODBC": "ODBCの削除", + "DELETE_PROJECT": "プロジェクトを削除する", + "DELETE_SQUARERECORDING": "スクエアレコーディングの削除", + "DESCRIPTION": "説明", + "DIAL": "ダイヤル", + "DIGIT": "最大数字", + "DIGITS": "桁数", + "DOWNLOAD_SQUARERECORDING": "Square Recordingをダウンロード", + "DROP_TO_UPLOAD": "アップロードを削除する", + "DROP_TO_UPLOAD_MESSAGE": "アップロードするファイルをここにドロップすることもできます。 XML - Maxのみ。 5MB", + "DSN": "DSN", + "EDIT": "編集", + "EDIT_ODBC": "ODBCの編集", + "EDIT_PROJECT": "プロジェクトを編集する", + "EDIT_SQUARERECORDING": "スクエアレコーディングの編集", + "EDIT_XML": "XMLの編集", + "END": "終わり", + "ESCAPE_DIGITS": "エスケープ数字", + "EXTEN": "エクテン", + "EXTENSION": "拡張", + "EXT_DIAL": "外部ダイヤル", + "FILE": "ファイル名", + "FILENAME": "ファイル名", + "FILE_ID": "オーディオ", + "FINALLY": "最後に", + "FINDBY": "検索者", + "GETDIGITS": "数字を取得する", + "GETSECRETDIGITS": "秘密の数字を取得する", + "GOAL": "ゴール", + "GOALNAME": "目標名", "GOOGLEASR": "GoogleASR", - "AWSPOLLY": "Aw ポリー", - "AWS_ACCESS_KEY_ID": "アクセスキー ID", - "AWS_SECRET_ACCESS_KEY": "秘密のアクセスキー", - "AWS_POLLY_REGION": "地域", - "AWS_POLLY_VOICE": "音声", - "LUMENVOXTTS": "Lumenvox TTS", - "LUMENVOXASR": "Lumenvox 'ASR", + "GOOGLE_ASR_LANGUAGE": "言語", + "GOOGLE_TTS_LANGUAGE": "言語", + "GOSUB": "GoSub", + "GOTOC": "GoTo", + "GOTOIF": "GoToIf", + "GOTOIFTIME": "GoToIfTime", + "GO_TO_PROJECTS": "プロジェクトに行く", "GRAMMAR": "文法", - "TILDEASR": "チルダ ASR", - "APPID": "App ID", - "APPSECRET": "App の秘密", - "SMS_ACCOUNT_ID": "アカウント", - "FINDBY": "検索者", + "HANGUP": "電話を切る", + "HIDDENDIGITSNUM": "ヒッデンデジット番号", + "HIDDENDIGITSPOS": "隠れた桁位置", + "ID": "イド", + "IMPORT": "インポート", + "IMPORT_XML": "XMLのインポート", + "INTERVAL_ID": "いんたーばる", + "INTKEY": "割り込みキー", + "ISPEECHASR": "iSpeech ASR", + "ISPEECHTTS": "iスピーチのテキスト - スピーチ", + "ISPEECH_ASR_LANGUAGE": "言語", + "ISPEECH_TTS_LANGUAGE": "言語", + "KEY": "キー", + "LABEL": "ラベル", + "LASTNAME": "苗字", + "LIST_ID": "リスト", "LOGIN": "ログイン", "LOGOUT": "ログアウト", + "LUMENVOXASR": "Lumenvox ASR", + "LUMENVOXTTS": "Lumenvoxテキスト読み上げ", + "MACRO": "マクロ", + "MAILBOX": "受信箱", + "MATH": "数学", + "MAXDIGIT": "最大桁数", + "MENU": "メニュー", + "MINDIGIT": "最小桁", + "MODEL": "モデル", + "NAME": "名", + "NEW": "新しい", + "NEW_ODBC": "新しいODBC接続", + "NEW_PROJECT": "新しいプロジェクト", + "NEW_VARIABLE": "新しい変数", + "NOOP": "NoOp", + "NOTES": "ノート", + "NO_AVAILABLE_INFO": "利用可能な情報がありません", + "NUMBER": "数", + "ODBC": "ODBC", + "ODBC_ID": "ODBC接続", + "OF": "の", + "OPEN": "開いた", + "OPEN_NEW_WINDOW": "新しいウィンドウで開きます", + "OPEN_PROJECT": "オープンプロジェクト", + "OPERATION": "操作", + "OPTIONS": "オプション", + "OPTS": "オプション", + "OUTPUT": "出力", + "PAGE": "ページ", "PAUSE": "一時停止", "PAUSE_ID": "一時停止のタイプ", + "PHONE": "電話", + "PLAYBACK": "再生", + "POSITION": "ポジション", + "PRIORITY": "ゆうsン度", + "PROJECT": "プロジェクト", + "PROJECTS": "プロジェクト", + "PROJECT_ID": "プロジェクト", + "QUERY": "クエリ", + "QUEUE": "キュー", + "QUEUE_ID": "キュー", + "RECORD": "記録", + "RECORDINGFORMAT": "録音フォーマット", + "RESPONSE": "応答タイムアウト", + "RETRY": "再試行", + "ROWSPERPAGE": "ページあたりの行数", + "SAVE": "セーブ", + "SAYDIGITS": "セイ・ディジット", + "SAYNUMBER": "言う", + "SAYPHONETIC": "Phoneticsと言う", + "SEARCH_FOR_ANYONE": "サーチ", + "SELECTED": "選択された", + "SELECT_ALL": "すべて選択", + "SELECT_NONE": "選択なし", + "SENDFAX": "ファックス送信", + "SENDMAIL": "メールを送る", + "SENDSMS": "SMSを送信", + "SET": "セット", + "SIP_ID": "SIP", + "SMS_ACCOUNT_ID": "アカウント", + "SMS_TEXT": "テキスト", + "SPEED": "速度", + "SQUARERECORDINGS": "録音", + "START": "開始", + "SUBJECT": "題名", + "SUBPROJECT": "サブプロジェクト", + "SYSTEM": "システム", + "TELEPHONES": "電話", + "TEMPLATE_ID": "テンプレート", + "TEST_ODBC": "ODBCのテスト", + "TEXT": "テキスト", + "TILDEASR": "チルドASR", + "TIMEOUT": "タイムアウト", + "TO": "に", + "TRUNK_NAME": "トランク", + "TTS": "Googleテキスト読み上げ", + "UNIQUEID": "一意のID", "UNPAUSE": "終了ポーズ", - "URI": "URI" + "UPDATE_DESCRIPTION": "更新の説明", + "UPDATE_INFO": "更新情報", + "URI": "URI", + "URL": "URL", + "USERS": "ユーザー", + "VARIABLE_ID": "変数", + "VARIABLE_VALUE": "値", + "VOICEMAIL": "ボイスメール", + "VSWITCH": "可変スイッチ" } } \ No newline at end of file diff --git a/public/app/main/apps/chat/i18n/da.json b/public/app/main/apps/chat/i18n/da.json index 5f340a7..d359f80 100644 --- a/public/app/main/apps/chat/i18n/da.json +++ b/public/app/main/apps/chat/i18n/da.json @@ -357,6 +357,7 @@ "NOTIFICATIONSHAKE": "Ryste", "NOTIFICATIONSOUND": "Lyd", "NOTIFICATIONTEMPLATE": "Skabelon", - "HIDEWHENOFFLINE": "Skjule" + "HIDEWHENOFFLINE": "Skjule", + "INSERT_MESSAGE_HERE": "Indsæt din tekstbesked her" } } \ No newline at end of file diff --git a/public/app/main/apps/chat/i18n/de.json b/public/app/main/apps/chat/i18n/de.json index 63f084d..bd3b5d4 100644 --- a/public/app/main/apps/chat/i18n/de.json +++ b/public/app/main/apps/chat/i18n/de.json @@ -357,6 +357,7 @@ "NOTIFICATIONSHAKE": "Shake", "NOTIFICATIONSOUND": "Klingen", "NOTIFICATIONTEMPLATE": "Vorlage", - "HIDEWHENOFFLINE": "verbergen" + "HIDEWHENOFFLINE": "verbergen", + "INSERT_MESSAGE_HERE": "Fügen Sie hier Ihre Textnachricht ein" } } \ No newline at end of file diff --git a/public/app/main/apps/chat/i18n/en.json b/public/app/main/apps/chat/i18n/en.json index a1186ff..7a307e0 100644 --- a/public/app/main/apps/chat/i18n/en.json +++ b/public/app/main/apps/chat/i18n/en.json @@ -1,5 +1,6 @@ { "CHAT": { + "INSERT_MESSAGE_HERE": "Insert your text message here", "HIDEWHENOFFLINE": "Hide", "NOTIFICATION": "Notification", "NOTIFICATIONSOUND": "Sound", @@ -68,7 +69,7 @@ "OFFLINESTATUS": "Offline Status", "NAME": "Name", "CHATQUEUES": "Chat Queues", - "SEARCH_FOR_ANYONE": "Search for anyone", + "SEARCH_FOR_ANYONE": "Search", "STRATEGY": "Strategy", "AGENT_TIMEOUT": "Agent Timeout", "DESCRIPTION": "Description", diff --git a/public/app/main/apps/chat/i18n/es.json b/public/app/main/apps/chat/i18n/es.json index 73ea4b6..026128a 100644 --- a/public/app/main/apps/chat/i18n/es.json +++ b/public/app/main/apps/chat/i18n/es.json @@ -1,362 +1,363 @@ { "CHAT": { - "TEXT": "Texto", - "TIMES": "Número de veces por la interacción", - "EDIT_AUTOREPLY": "Editar la respuesta automática", - "AUTOREPLY": "La respuesta automática", - "NEW_CHATDISPOSITION": "Nueva disposición Chat", - "ENABLECUSTOMERATTACHMENT": "Los clientes accesorios", - "OFFLINE_CHAT_BUTTON": "'Chat' Offline", - "OFFLINESTATUS": "El estado desconectado", - "NAME": "Nombre", - "CHATQUEUES": "Colas de chat", - "SEARCH_FOR_ANYONE": "Buscar a alguien", - "STRATEGY": "Estrategia", - "AGENT_TIMEOUT": "Tiempo de espera del agente", - "DESCRIPTION": "Descripción", - "KEY": "Key", - "ALIAS": "Alias", - "VARIABLE": "Variable", - "INTERVAL": "Intervalo", - "EDIT_CLOSE": "Editar Cerrar", - "TIMEZONE": "Zona horaria", - "MESSAGE": "Mensaje", - "ADVANCED": "Advanced", - "FORWARDTRANSCRIPT": "Transcripción de avance", - "FORWARDTRANSCRIPTMESSAGE": "Reenviar mensaje de transcripción", - "SKIPMESSAGEBUTTON": "Saltar Botón Mensaje", - "EDIT_MESSAGE": "Editar mensaje", - "CONDITION_AGREEMENT": "Acuerdo de condición", - "NONE": "Ninguno", - "PRIORITY": "Prioridad", - "ONLINESTATUS": "Estado en línea", - "UNMANAGEDSTATUS": "El estado no gestionado", - "AUTOCLOSE": "Habilitar Autoclose", - "ENABLEUNMANAGEDNOTE": "Habilitar mensaje no administrado", - "UNMANAGEDMESSAGE": "Mensaje", - "SKIPUNMANAGED": "Saltar mensaje", - "SENDUNMANAGED": "Enviar mensaje", - "WEBSITESCRIPT": "Secuencias de comandos Web", - "DELETE_OFFLINEMESSAGE": "Eliminar", - "OFFLINEMESSAGES": "Mensajes sin conexión", - "FORWARD_OFFLINE": "Avance desconectado", - "SHOW_OFFLINEMESSAGE": "Mostrar", - "FORWARD_OFFLINE_ADDRESS": "Libreta de direcciones sin conexión de avance", - "CLOSINGFORM": "Cerrar formulario", - "ENABLERATING": "Habilitar Rating", - "ENABLECUSTOMERWRITING": "Permitir al cliente por escrito antes de aceptar el agente", - "ENABLEFEEDBACK": "Habilitar comentarios", - "RATINGTYPE": "Tipo de clasificación", - "CLOSINGMESSAGE": "Mensaje de clausura", - "CLOSINGMESSAGEBUTTON": "Botón de mensaje de cierre", - "RATINGSTARSNUMBER": "Puntuación número de estrellas", - "EDIT_GOTOIF": "Editar GotoIf", - "CONDITION": "Condición", - "TRUEPRIORITY": "True Priority", - "FALSEPRIORITY": "Prioridad falsa", - "VALUE": "Valor", - "WEBSITEALIAS": "Sitio web Alias", "ERRORS": { - "TEXT_REQUIRED": "El texto es obligatorio", - "SENDUNMANAGED_REQUIRED": "El campo es obligatorio", - "SENDUNMANAGED_MAX_LENGTH": "El campo debe tener una longitud máxima igual a {{max}}", - "SKIPUNMANAGED_MAX_LENGTH": "El campo debe tener una longitud máxima igual a {{max}}", - "UNMANAGEDMESSAGE_MAX_LENGTH": "El campo debe tener una longitud máxima igual a {{max}}", - "WEBSITEALIAS_MAX_LENGTH": "El alias debe tener una longitud máxima igual a {{max}}", - "AGENT_REQUIRED": "El agente es necesaria", - "QUEUE_REQUIRED": "La cola es obligatorio", - "CONDITION_REQUIRED": "La condición es necesaria", - "PRIORITY_REQUIRED": "La prioridad es necesaria", - "TRUEPRIORITY_REQUIRED": "La prioridad es necesaria", - "FALSEPRIORITY_REQUIRED": "La prioridad es necesaria", - "NAME_REQUIRED": "El nombre es obligatorio", - "LIST_REQUIRED": "La lista es obligatorio", - "AGENT_TIMEOUT_REQUIRED": "El agente se requiere tiempo de espera", - "MOTIONADDRESS_REQUIRED": "Se requiere una dirección de movimiento", - "DISPOSITION_REQUIRED": "La disposición es obligatoria", - "MOTIONADDRESS_MUST_VALID_URL": "La dirección de movimiento deben escribirse en un formato válido", - "EMAIL_MUST_BE_VALID": "El correo electrónico debe ser una dirección de correo electrónico válida.", - "ADDRESS_REQUIRED": "La dirección es obligatoria", - "ADDRESS_MUST_VALID_URL": "La dirección debe estar escrito en un formato válido", - "ENQUIRY_FORWARDING_ADDRESS_REQUIRED": "La investigación es necesaria la dirección de reenvío", - "ACCEPTURL_MUST_VALID_URL": "Aceptar la URL debe estar escrito en un formato válido", - "TIMEOUT_REQUIRED": "El tiempo de espera es necesario", - "REJECTURL_MUST_VALID_URL": "Rechazar la URL debe estar escrito en un formato válido", - "CLOSEURL_MUST_VALID_URL": "La estrecha URL debe ser escrito en un formato válido", - "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La prioridad debe ser mayor o igual a", - "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La verdadera prioridad debe ser mayor o igual a", - "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La falsa prioridad debe ser mayor o igual a", - "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El tiempo de espera debe ser mayor o igual a", - "POLLING_INTERVAL_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El sondeo debe ser mayor o igual a", - "WAITINGMESSAGE_REQUIRED": "El mensaje en espera es obligatorio", - "WAITINGTITLE_REQUIRED": "El título es obligatorio de espera", - "KEY_MAX_LENGTH": "Clave debe tener una longitud máxima igual a {{max}}", - "KEY_REQUIRED": "La clave es necesaria", - "WAITINGMESSAGE_MAX_LENGTH": "El mensaje en espera debe tener una longitud máxima igual a {{max}}", - "WAITINGTITLE_MAX_LENGTH": "El esperando el título debe tener una longitud máxima igual a {{max}}", - "RATINGSTARSNUMBER_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La calificación de estrellas número debe ser menor o igual a", - "HEADER_OFFLINE_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", - "OFFLINE_CHAT_BUTTON_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", + "ACCEPTURL_MUST_VALID_URL": "Formato erróneo", + "ADDRESS_MUST_VALID_URL": "Formato erróneo", + "ADDRESS_REQUIRED": "Campo obligatorio", + "AGENT_REQUIRED": "Campo obligatorio", + "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "AGENT_TIMEOUT_REQUIRED": "Campo obligatorio", + "CLOSEURL_MUST_VALID_URL": "Formato erróneo", "CLOSINGQUESTION_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", - "TEXT_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", - "VALUE_REQUIRED": "Campo obligatorio", - "OFFLINEMESSAGESUBJECT_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", - "OFFLINEMESSAGEBODY_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", - "PLACEHOLDERMESSAGE_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", - "NOTETITLE_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", - "FORMSUBMITSUCCESSMESSAGE_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", - "FORMSUBMITFAILUREMESSAGE_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", + "COMMAND_REQUIRED": "Campo obligatorio", + "CONDITION_REQUIRED": "Campo obligatorio", + "DISPOSITION_REQUIRED": "Campo obligatorio", + "EMAIL_MUST_BE_VALID": "Formato erróneo", + "ENQUIRY_FORWARDING_ADDRESS_REQUIRED": "Campo obligatorio", + "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "FALSEPRIORITY_REQUIRED": "Campo obligatorio", "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", "FONTSIZE_REQUIRED": "Campo obligatorio", - "COMMAND_REQUIRED": "Campo obligatorio", - "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "FORMSUBMITFAILUREMESSAGE_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", + "FORMSUBMITSUCCESSMESSAGE_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", + "HEADER_OFFLINE_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", + "KEY_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", + "KEY_REQUIRED": "Campo obligatorio", + "LIST_REQUIRED": "Campo obligatorio", + "MOTIONADDRESS_MUST_VALID_URL": "Formato erróneo", + "MOTIONADDRESS_REQUIRED": "Campo obligatorio", "NAME_MUST_VALID_PATTERN": "Formato erróneo", - "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que" + "NAME_REQUIRED": "Campo obligatorio", + "NOTETITLE_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", + "OFFLINEMESSAGEBODY_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", + "OFFLINEMESSAGESUBJECT_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", + "OFFLINE_CHAT_BUTTON_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", + "PLACEHOLDERMESSAGE_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", + "POLLING_INTERVAL_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "PRIORITY_REQUIRED": "Campo obligatorio", + "QUEUE_REQUIRED": "Campo obligatorio", + "RATINGSTARSNUMBER_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que", + "REJECTURL_MUST_VALID_URL": "Formato erróneo", + "SENDUNMANAGED_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", + "SENDUNMANAGED_REQUIRED": "Campo obligatorio", + "SKIPUNMANAGED_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", + "TEXT_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", + "TEXT_REQUIRED": "Campo obligatorio", + "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que", + "TIMEOUT_REQUIRED": "Campo obligatorio", + "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "TRUEPRIORITY_REQUIRED": "Campo obligatorio", + "UNMANAGEDMESSAGE_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", + "VALUE_REQUIRED": "Campo obligatorio", + "WAITINGMESSAGE_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", + "WAITINGMESSAGE_REQUIRED": "Campo obligatorio", + "WAITINGTITLE_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", + "WAITINGTITLE_REQUIRED": "Campo obligatorio", + "WEBSITEALIAS_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}" }, - "CM_FIELD": "Campo Administrador de contactos", + "HELP": { + "AUTOCLOSE": "Habilítelo si desea que las sesiones de chat se cierren como No gestionadas si no hay ningún agente disponible. Obtenga más información al respecto en: https://wiki.xcallymotion.com/display/XMV/Chat Websites", + "COPYSCRIPTTOCLIPBOARD": "Copie y pegue el texto del script en su sitio web", + "ENABLECUSTOMERWRITING": "Habilítelo si desea que el chat comience sin esperar un agente disponible (preste atención: si lo habilita, sus chats nunca se administrarán). Obtenga más información en: https://wiki.xcallymotion.com/display/XMV/Chat Websites", + "ENABLEFEEDBACK": "Habilítelo si desea que el visitante web pueda enviar comentarios (hasta 150 caracteres) al final", + "ENABLERATING": "Habilítelo si desea que el visitante web pueda calificar la interacción al final", + "ENABLEUNMANAGEDNOTE": "Habilítelo si desea que se muestre un mensaje al visitante cuando todos los agentes estén ocupados y el chat no se administre", + "FORWARDTRANSCRIPT": "Habilítelo si desea que el visitante web reciba una transcripción de la conversación por correo electrónico", + "FORWARD_OFFLINE": "Puede agregar varias direcciones separadas por comas (por ejemplo, john.doe@xcally.com, jane.miller@xcally.com)", + "FROMKEY": "Se mapeará en su fragmento de chat de Motion como:", + "HIDEWHENOFFLINE": "Oculta el fragmento cuando está fuera de línea", + "INTERVAL": "Seleccione uno de la lista", + "INTEVAL": "Para ser seleccionado de la lista de los intervalos disponibles", + "KEY": "Nombre abreviado del sitio web (5 caracteres) que se muestra en la pestaña del agente", + "LIST": "Lista de contactos de contacto utilizada para asociar contactos", + "MAPKEY": "El siguiente campo Gestor de contacto de Motion:", + "MOTIONADDRESS": "El campo debe tener el siguiente formato: : // [: ]. Ejemplo: https: //X.Y.Z.W", + "MOTIONPROXY": "El campo debe tener el siguiente formato: : // [: ]. Ejemplo: https: //X.Y.Z.W", + "NAME": "Solo se admiten números, letras y caracteres específicos (._)", + "TIMEZONE": "Seleccione uno de la lista (predeterminado = zona horaria local)", + "TOKEN": "Token generado automáticamente utilizado en la secuencia de comandos", + "WEBSITEALIAS": "Un prefijo utilizado para componer el nombre del agente (prefijo ID del agente) que se muestra al visitante web durante la sesión de chat" + }, + "ACCEPT": "Aceptar", + "ACCEPTMETHOD": "Aceptar el método", + "ACCEPTURL": "Aceptar URL", + "ACCOUNT": "Cuenta", + "ACTIONS": "Comportamiento", + "ADDRESS": "Dirección", + "ADD_CHATCANNEDANSWER": "Agregar respuesta enlatada", + "ADD_CHATDISPOSITION": "Agregar disposición de chat", + "ADD_CHATPROACTIVEACTION": "Agregar acción proactiva", + "ADD_CHATQUEUE": "Agregar cola de chat", + "ADD_CHATWEBSITE": "Añadir sitio web de chat", + "ADVANCED": "Avanzado", + "AGENT": "Agente", + "AGENTADD_CHATQUEUE": "Agregar agente a la cola de chat", + "AGENTADD_QUEUE": "Agregar agente a la cola de chat", + "AGENTAVATAR": "Agente Avatar", + "AGENTS": "Agentes", + "AGENTSADD_QUEUE": "Agregar agente a la cola de chat", + "AGENTS_BUSY": "Mensaje de agentes ocupados", + "AGENT_TIMEOUT": "Tiempo de espera del agente", + "ALIAS": "Alias", + "ALL": "Todas", + "ALL_AGENTS": "Todos los agentes", + "ALL_TEAMS": "Todos los equipos", + "ANIMATION": "Animación", + "APPEARANCE": "Apariencia", + "AUTOCLOSE": "Habilitar cierre automático", + "AUTOREPLY": "Respuesta automática", + "BACK": "Espalda", + "BUILDER": "Constructor", + "BUSY": "Ocupado", + "BUTTONCOLOR": "Color del boton", + "CANNEDANSWERS": "Anwsers conservados", + "CAPACITY": "Capacidad", + "CHAT": "Chat", + "CHATCANNEDANSWERS": "Anwsers conservados", + "CHATDISPOSITIONS": "Disposiciones de chat", "CHATPROACTIVEACTIONS": "Acciones proactivas", - "NEW_CHATPROACTIVEACTION": "Nueva acción proactiva", - "EDIT_CHATPROACTIVEACTION": "Editar acción proactiva", + "CHATQUEUES": "Colas de chat", + "CHATWEBSITES": "Sitios web de chat", + "CLOSE": "Cerca", + "CLOSED": "Cerrado", + "CLOSEDAT": "Cerrado en", + "CLOSEMETHOD": "Método cercano", + "CLOSEURL": "Cerrar URL", + "CLOSINGFORM": "Formulario de cierre", + "CLOSINGMESSAGE": "Mensaje de cierre", + "CLOSINGMESSAGEBUTTON": "Botón Cerrar mensaje", + "CLOSINGQUESTION": "Pregunta de cierre", + "CM_FIELD": "Contact Manager Field", + "COLLAPSE": "Colapso", + "COMMAND": "Mando", + "CONDITION": "Condición", + "CONDITION_AGREEMENT": "Acuerdo de Condición", + "CONTACT": "Contacto", + "CREATEDAT": "Creado en", + "CREATED_AT": "Creado en", + "DEFAULT": "Defecto", + "DEFAULT_PAUSE": "Pausa por defecto", + "DELETE": "Borrar", + "DELETE_CHATCANNEDANSWER": "Borrar", + "DELETE_CHATDISPOSITION": "Eliminar la disposición de chat", "DELETE_CHATPROACTIVEACTION": "Eliminar acción proactiva", - "ADD_CHATPROACTIVEACTION": "Agregar acción proactiva", - "NO_CHATPROACTIVEACTION_AVAILABLE": "No hay acciones proactivas disponibles", - "NO_OFFLINEMESSAGE_AVAILABLE": "No hay mensajes sin conexión disponible", - "MOUSEOVER": "Ratón sobre", - "TIMEOUT": "Timeout", - "TYPE": "Tipo", - "SELECTOR": "Selector", - "AGENT": "Agent", - "GOTO": "Goto", - "GOTOIF": "GotoIf", - "NOOP": "Noop", - "QUEUE": "Cola", - "BUILDER": "Builder", - "PREVIEW": "Vista previa", - "EDIT_AGENT": "Editar Agent", - "EDIT_QUEUE": "Editar cola", + "DELETE_CHATQUEUE": "Eliminar cola de chat", + "DELETE_CHATWEBSITE": "Eliminar el sitio web de chat", + "DELETE_INTERACTION": "Eliminar interacción", + "DELETE_OFFLINEMESSAGE": "Borrar", + "DESCRIPTION": "Descripción", + "DISPOSITION": "Disposición", + "DISPOSITIONS": "Plan", + "DOWN": "Abajo", + "DOWNLOADTRANSCRIPT": "Descargar la transcripción", + "EDIT_AGENT": "Editar agente", + "EDIT_AUTOREPLY": "Editar respuesta automática", + "EDIT_CHATCANNEDANSWER": "Editar", + "EDIT_CHATDISPOSITION": "Editar la disposición de chat", + "EDIT_CHATPROACTIVEACTION": "Editar acción proactiva", + "EDIT_CHATQUEUE": "Editar cola de chat", + "EDIT_CHATWEBSITE": "Editar sitio web de chat", + "EDIT_CLOSE": "Editar Cerrar", "EDIT_GOTO": "Editar Goto", + "EDIT_GOTOIF": "Editar GotoIf", "EDIT_GOTOIf": "Editar GotoIf", + "EDIT_GOTOP": "Editar Gotop", + "EDIT_MESSAGE": "Editar mensaje", "EDIT_NOOP": "Editar Noop", - "ADD_CHATQUEUE": "Añadir cola de chat", - "EDIT_CHATQUEUE": "Editar cola de chat", - "DELETE_CHATQUEUE": "Borrar cola de chat", - "SETTINGS": "Configuración", - "SAVE": "Guardar", - "SCRIPT": "Script", - "TOKEN": "Token", - "CREATED_AT": "Creado en", - "CHATWEBSITES": "Sitios de Chat", - "MOTIONADDRESS": "Dirección de movimiento", - "MOTIONPROXY": "Proxy o dominio de movimiento", - "ADD_CHATWEBSITE": "Agregar sitio web chat", - "EDIT_CHATWEBSITE": "Editar sitio web chat", - "DELETE_CHATWEBSITE": "Borrar Chat Web", - "LIST": "Lista", - "SNIPPET": "Fragmento", - "FORMS": "Formas", - "UP": "Arriba", - "DOWN": "Abajo", - "COLLAPSE": "Colapso", - "PROACTIVEACTIONS": "Acciones proactivas", - "DISPOSITIONS": "Disposiciones", - "WEBHOOKS": "WebHooks", - "ACTIONS": "Acciones", - "FIDELITY": "Fidelidad", - "APPEARANCE": "Apariencia", - "MAINCOLOR": "Color principal", - "FOCUSCOLOR": "Color de foco", - "BUTTONCOLOR": "El color del botón", - "HEADERSHAPE": "Forma de cabezal", - "ANIMATION": "Animación", - "DEFAULT": "Default", - "WHITELABEL": "Etiqueta blanca", - "LOGO": "Logo", - "DOWNLOADTRANSCRIPT": "Descargar la transcripción", - "ENQUIRY_ENABLE": "Investigación habilitar", - "ENQUIRY_FORWARDING": "Reenvío de investigación", - "ENQUIRY_FORWARDING_ADDRESS": "Investigación la dirección de reenvío", - "LABELS": "Etiquetas", - "HEADER_ONLINE": "Cabezal online", - "ONLINE_MESSAGE": "Mensaje en línea", - "NAME_TITLE": "Nombre de etiqueta de entrada", - "USERNAME_PLACEHOLDER": "Marcador de posición de entrada Nombre de usuario", + "EDIT_QUEUE": "Editar cola", + "EDIT_SYSTEM": "Editar sistema", + "EMAIL_PLACEHOLDER": "Marcador de entrada de correo electrónico", "EMAIL_TITLE": "Etiqueta de entrada de correo electrónico", - "EMAIL_PLACEHOLDER": "Marcador de posición de entrada de correo electrónico", - "START_CHAT_BUTTON": "'Chat'", - "AGENTS_BUSY": "Mensaje agentes ocupados", - "HEADER_OFFLINE": "Cabezal desconectado", - "OFFLINE_MESSAGE": "Los mensajes fuera de línea", - "MESSAGE_TITLE": "La etiqueta del mensaje", - "ENQUIRY_MESSAGE_PLACEHOLDER": "Mensaje de consulta de marcador de posición de entrada", + "EMBEDDING": "Incrustar", + "ENABLECUSTOMERATTACHMENT": "Habilitar los datos adjuntos del cliente", + "ENABLECUSTOMERWRITING": "Permita que el cliente escriba antes de que el agente acepte", + "ENABLEFEEDBACK": "Habilitar comentarios", + "ENABLERATING": "Habilitar calificación", + "ENABLEUNMANAGEDNOTE": "Habilitar mensaje no administrado", + "ENQUIRY": "Investigación", "ENQUIRY_BUTTON": "Texto del botón de consulta", - "RATING_MESSAGE": "Mensaje de calificación", - "RATING_SEND": "El texto del botón Enviar calificación", - "RATING_SKIP": "Rating Botón Omitir texto", - "ONLINE": "Online", - "OFFLINE": "Offline", - "PROACTIVE": "Proactive", - "ACCEPT": "Aceptar", - "ACCEPTMETHOD": "Aceptar el método", - "ACCEPTURL": "Aceptar URL", - "REJECT": "Rechazar", - "REJECTMETHOD": "Método de rechazo", - "REJECTURL": "Rechazar URL", - "CLOSE": "Cerrar", - "CLOSEMETHOD": "Método Close", - "CLOSEURL": "Cerrar URL", - "EMBEDDING": "Incrustación", + "ENQUIRY_ENABLE": "Habilitación de consulta", + "ENQUIRY_FORWARDING": "Solicitud de reenvío", + "ENQUIRY_FORWARDING_ADDRESS": "Dirección de reenvío de consulta", + "ENQUIRY_MESSAGE_PLACEHOLDER": "Mensaje de pregunta Entrada Placeholder", + "FALSEPRIORITY": "Falsa prioridad", + "FAX": "Fax", + "FIDELITY": "Fidelidad", + "FILTER": "Filtrar", + "FILTERS": "Filtros", + "FOCUSCOLOR": "Color de enfoque", + "FONTSIZE": "Tamaño de fuente", + "FORMS": "Formularios", + "FORMSUBMITFAILUREMESSAGE": "Mensaje de falla de envío de formulario", + "FORMSUBMITSUCCESSMESSAGE": "Mensaje de envío de formulario enviado", + "FORWARDTRANSCRIPT": "Transcripción Adelante", + "FORWARDTRANSCRIPTMESSAGE": "Mensaje de Transcripción Adelante", + "FORWARD_OFFLINE": "Reenviar fuera de línea", + "FORWARD_OFFLINE_ADDRESS": "Dirección fuera de línea", + "FULLNAME": "Nombre completo", "GENERAL": "General", - "SELECTED": "Seleccionado", - "SELECT_ALL": "Seleccionar todo", - "SELECT_NONE": "Seleccione Ninguno", - "BACK": "Volver", - "HELP": { - "MAPKEY": "La siguiente moción: campo Contact Manager", - "FROMKEY": "Se asignarán en su moción Fragmento de chat como:", - "TOKEN": "Sitio Web Token de movimiento", - "COPYSCRIPTTOCLIPBOARD": "Copiar y pegar el script en su sitio web", - "FORWARD_OFFLINE": "Puede agregar varias direcciones con comas (por ejemplo, Jane.miller@xcally.com) john.doe@xcally.com", - "MOTIONADDRESS": "Por favor, introduzca en el siguiente formato: <> protocolo://:// [:]の形式でなければなりません。例:https://X.Y.Z.W", + "MOTIONPROXY": "フィールドは、:// [:]の形式でなければなりません。例:https://X.Y.Z.W", + "NAME": "数字、文字、および特定の文字(._)のみがサポートされています", + "TIMEZONE": "リストから1つを選択します(デフォルト=ローカルタイムゾーン)。", + "TOKEN": "スクリプトで使用される自動的に生成されたトークン", + "WEBSITEALIAS": "チャットセッション中にWeb訪問者に表示されるエージェント名(プレフィックスエージェントID)を作成するために使用されるプレフィックス" + }, + "ACCEPT": "同意する", + "ACCEPTMETHOD": "受け入れる方法", + "ACCEPTURL": "受け入れるURL", + "ACCOUNT": "アカウント", + "ACTIONS": "行動", + "ADDRESS": "住所", + "ADD_CHATCANNEDANSWER": "回答テンプレートを追加", + "ADD_CHATDISPOSITION": "チャットディスカッションを追加する", + "ADD_CHATPROACTIVEACTION": "プロアクティブアクションを追加する", + "ADD_CHATQUEUE": "チャットキューを追加する", + "ADD_CHATWEBSITE": "チャットウェブサイトを追加", + "ADVANCED": "上級", "AGENT": "エージェント", - "GOTO": "後藤", - "GOTOIF": "GotoIf", - "NOOP": "Noop", - "QUEUE": "キュー", - "BUILDER": "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": "チャット Web サイト", - "MOTIONADDRESS": "モーションのアドレス", - "MOTIONPROXY": "プロキシまたはモーションドメイン", - "ADD_CHATWEBSITE": "チャット Web サイトを追加します。", - "EDIT_CHATWEBSITE": "編集チャット Web サイト", - "DELETE_CHATWEBSITE": "チャットの Web サイトを削除", - "LIST": "リスト", - "SNIPPET": "スニペット", - "FORMS": "フォーム", - "UP": "さ", - "DOWN": "ダウン", - "COLLAPSE": "折りたたむ", - "PROACTIVEACTIONS": "プロアクティブなアクションを", - "DISPOSITIONS": "ディスポジション", - "WEBHOOKS": "WebHooks", - "ACTIONS": "アクション", - "FIDELITY": "忠実性", + "AGENTADD_CHATQUEUE": "チャットキューにエージェントを追加する", + "AGENTADD_QUEUE": "チャットキューにエージェントを追加する", + "AGENTAVATAR": "エージェントアバター", + "AGENTS": "エージェント", + "AGENTSADD_QUEUE": "チャットキューにエージェントを追加する", + "AGENTS_BUSY": "ビジターエージェントメッセージ", + "AGENT_TIMEOUT": "エージェントのタイムアウト", + "ALIAS": "エイリアス", + "ALL": "すべて", + "ALL_AGENTS": "すべてのエージェント", + "ALL_TEAMS": "すべてのチーム", + "ANIMATION": "アニメーション", "APPEARANCE": "外観", - "MAINCOLOR": "メインカラー", - "FOCUSCOLOR": "フォーカスの色", + "AUTOCLOSE": "オートクローズを有効にする", + "AUTOREPLY": "自動返信", + "BACK": "バック", + "BUILDER": "ビルダー", + "BUSY": "忙しい", "BUTTONCOLOR": "ボタンの色", - "HEADERSHAPE": "ヘッダーの形", - "ANIMATION": "アニメーション", + "CANNEDANSWERS": "缶詰アンサー", + "CAPACITY": "容量", + "CHAT": "チャット", + "CHATCANNEDANSWERS": "缶詰アンサー", + "CHATDISPOSITIONS": "チャットディスポジション", + "CHATPROACTIVEACTIONS": "プロアクティブアクション", + "CHATQUEUES": "チャットキュー", + "CHATWEBSITES": "チャットのウェブサイト", + "CLOSE": "閉じる", + "CLOSED": "閉まっている", + "CLOSEDAT": "休館日", + "CLOSEMETHOD": "Closeメソッド", + "CLOSEURL": "URLを閉じる", + "CLOSINGFORM": "クローズフォーム", + "CLOSINGMESSAGE": "メッセージを閉じる", + "CLOSINGMESSAGEBUTTON": "メッセージボタンを閉じる", + "CLOSINGQUESTION": "質問を終える", + "CM_FIELD": "連絡先マネージャーフィールド", + "COLLAPSE": "崩壊", + "COMMAND": "コマンド", + "CONDITION": "調子", + "CONDITION_AGREEMENT": "条件同意書", + "CONTACT": "接触", + "CREATEDAT": "作成者:", + "CREATED_AT": "作成者:", "DEFAULT": "デフォルト", - "WHITELABEL": "ホワイトラベル", - "LOGO": "ロゴ", - "DOWNLOADTRANSCRIPT": "チャット内容のコピーのダウンロード", - "ENQUIRY_ENABLE": "お問い合わせを有効にする", - "ENQUIRY_FORWARDING": "お問い合わせの転送", - "ENQUIRY_FORWARDING_ADDRESS": "お問い合わせの転送アドレス", - "LABELS": "ラベル", - "HEADER_ONLINE": "オンラインヘッダー", - "ONLINE_MESSAGE": "オンラインメッセージ", - "NAME_TITLE": "名前入力ラベル", - "USERNAME_PLACEHOLDER": "ユーザ名の入力プレースホルダー", + "DEFAULT_PAUSE": "デフォルトの一時停止", + "DELETE": "削除", + "DELETE_CHATCANNEDANSWER": "削除", + "DELETE_CHATDISPOSITION": "チャットディスポジションの削除", + "DELETE_CHATPROACTIVEACTION": "プロアクティブアクションの削除", + "DELETE_CHATQUEUE": "チャットキューの削除", + "DELETE_CHATWEBSITE": "チャットウェブサイトの削除", + "DELETE_INTERACTION": "インタラクションの削除", + "DELETE_OFFLINEMESSAGE": "削除", + "DESCRIPTION": "説明", + "DISPOSITION": "配置", + "DISPOSITIONS": "処分", + "DOWN": "ダウン", + "DOWNLOADTRANSCRIPT": "トランスクリプトをダウンロード", + "EDIT_AGENT": "エージェントの編集", + "EDIT_AUTOREPLY": "自動返信を編集", + "EDIT_CHATCANNEDANSWER": "編集", + "EDIT_CHATDISPOSITION": "チャットディスポジションの編集", + "EDIT_CHATPROACTIVEACTION": "プロアクティブアクションの編集", + "EDIT_CHATQUEUE": "チャットキューの編集", + "EDIT_CHATWEBSITE": "チャットウェブサイトの編集", + "EDIT_CLOSE": "編集閉じる", + "EDIT_GOTO": "後藤を編集する", + "EDIT_GOTOIF": "編集GotoIf", + "EDIT_GOTOIf": "編集GotoIf", + "EDIT_GOTOP": "Gotopを編集する", + "EDIT_MESSAGE": "メッセージの編集", + "EDIT_NOOP": "編集不要", + "EDIT_QUEUE": "キューを編集", + "EDIT_SYSTEM": "システムの編集", + "EMAIL_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": "Close メソッド", - "CLOSEURL": "閉じる URL", "EMBEDDING": "埋め込み", - "GENERAL": "一般的な", - "SELECTED": "選択した", - "SELECT_ALL": "すべてを選択します", - "SELECT_NONE": "「なし」を選択します。", - "BACK": "背面", - "HELP": { - "MAPKEY": "次のモーションマネージャに連絡フィールド :", - "FROMKEY": "では、モーションのチャットのスニペットのようにマッピングされます。", - "TOKEN": "ウェブサイトモーショントークン", - "COPYSCRIPTTOCLIPBOARD": "コピーして、ご自分の Web サイトに、スクリプトの貼り付け", - "FORWARD_OFFLINE": "コンマを使用して(例: john.doe@xcally.com jane.miller@xcally.com) 、複数のアドレスを追加することができます。", - "MOTIONADDRESS": "には、次の形式で次のように入力します。 lt & ; プロトコル & gt ; : / / & lt ; ipaddress & gt ; [ : & lt ; ポート & gt ; ] してください。 例: https://X.Y.Z.W", - "MOTIONPROXY": "は、次の形式で入力し lt & ; プロトコル & gt ; : // & lt の ; ipaddress & gt ; [: & lt の ; ポート & gt ; ] してください。 例 : https://X.Y.Z.W", - "NAME": "数字、文字、およびのみ特定の文字 ( 。 ) はサポートされています", - "LIST": "連絡先を関連付けるために使用されている連絡先マネージャのリスト", - "KEY": "[ エージェント ] タブに表示されている Web サイトの短い名前( 5 文字)", - "INTEVAL": "利用可能な間隔のリストから選択する必要があります", - "TIMEZONE": "リストから 1 つを選択し(デフォルト値 = 現地時間帯)", - "ENABLERATING": "Web の訪問者が最後には、インタラクションのレートがしたい場合は有効にします。", - "ENABLEFEEDBACK": "Web の訪問者が最後にフィードバック(最大 150 文字を送信することができ ) する場合は、イネーブルにするには", - "FORWARDTRANSCRIPT": "Web の訪問者は、電子メールを介してチャットの記録を受信するようにする場合に有効にします。", - "AUTOCLOSE": "チャットエージェントが使用できない場合に管理されていないのに閉じたセッションしたい場合に有効にします。 それについての詳細を学ぶ : https://wiki.xcallymotion.com/display/XMV/Chat ウェブサイト # チャットの Websites-Snippet", - "ENABLEUNMANAGEDNOTE": "訪問者が表示されたメッセージが、すべてのエージェントがビジーとチャットするときに管理されていないを取得する場合は、イネーブルにするには", - "WEBSITEALIAS": "エージェントの名前(チャットセッション中に、 Web の訪問者に表示されている接頭辞エージェント ID )を作成するために使用される接頭辞", - "ENABLECUSTOMERWRITING": "する場合は、イネーブルにして、チャットで応答可能なエージェント(注意:待機していることを有効にする場合は、あなたのチャットが管理されていないことはありません ) せずに起動します。 以上で、次のように https://wiki.xcallymotion.com/display/XMV/Chat ウェブサイト # チャットの Websites-Snippet を学ぶ", - "INTERVAL": "リストから 1 つを選択します。", - "HIDEWHENOFFLINE": "オフライン時にスニペットを非表示にする" - }, - "ADDRESS": "アドレス", - "ONLINESTATE": "オンライン状態", - "OFFLINESTATE": "オフライン状態", - "RATINGSTATE": "定格状態", - "ENQUIRY": "お問い合わせ", - "OFFLINETEMPLATE": "オフラインのテンプレート", - "CHATDISPOSITIONS": "チャットのディスポジション", - "NO_CHATDISPOSITION_AVAILABLE": "チャットのディスポジションを使用できません", - "ADD_CHATDISPOSITION": "チャットのディスポジションの追加 ]", - "DELETE": "削除", - "EDIT_CHATDISPOSITION": "チャット編集処理", - "DELETE_CHATDISPOSITION": "チャットのディスポジションを削除", - "CHAT": "チャット", - "ID": "Id", - "NEW_CHATQUEUE": "新しいチャットキュー", - "NEW_CHATWEBSITE": "新しいチャットの Web サイト", - "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": "ステータスを選択します。", + "ENABLECUSTOMERATTACHMENT": "顧客添付ファイルを有効にする", + "ENABLECUSTOMERWRITING": "エージェントが受け入れる前に顧客の書面を許可する", + "ENABLEFEEDBACK": "フィードバックを有効にする", + "ENABLERATING": "評価を有効にする", + "ENABLEUNMANAGEDNOTE": "管理されていないメッセージを有効にする", + "ENQUIRY": "問い合わせ", + "ENQUIRY_BUTTON": "お問い合わせボタンのテキスト", + "ENQUIRY_ENABLE": "Inquiry Enable", + "ENQUIRY_FORWARDING": "お問い合わせの転送", + "ENQUIRY_FORWARDING_ADDRESS": "お問い合わせ先住所", + "ENQUIRY_MESSAGE_PLACEHOLDER": "照会メッセージ入力プレースホルダ", + "FALSEPRIORITY": "誤った優先順位", + "FAX": "ファックス", + "FIDELITY": "フィデリティ", "FILTER": "フィルタ", "FILTERS": "フィルタ", - "TEAMADD_CHATQUEUE": "チームチャットキューに追加します。", - "AGENTADD_CHATQUEUE": "エージェントチャットキューに追加します。", - "ALL_AGENTS": "すべてのエージェント", - "SELECTED_AGENTS": "選択したエージェント", - "CLOSEDAT": "で引けた。", - "DISPOSITION": "廃棄", - "CREATEDAT": "作成された時に", - "NOTES": "ノート", - "NO_INTERACTION_AVAILABLE": "利用可能な相互作用はありません", - "SELECTED_WEBSITE": "Web サイトを選択します。", - "GOTOP": "Gotop", - "EDIT_GOTOP": "Gotop 編集", - "SELECT_WEBSITE": "Web サイトを選択します。", + "FOCUSCOLOR": "フォーカスカラー", + "FONTSIZE": "フォントサイズ", + "FORMS": "フォーム", + "FORMSUBMITFAILUREMESSAGE": "フォーム送信エラーメッセージ", + "FORMSUBMITSUCCESSMESSAGE": "フォーム送信成功メッセージ", + "FORWARDTRANSCRIPT": "フォワード転写物", + "FORWARDTRANSCRIPTMESSAGE": "転送メッセージの転送", + "FORWARD_OFFLINE": "フォワードオフライン", + "FORWARD_OFFLINE_ADDRESS": "フォワードオフラインアドレス", + "FULLNAME": "フルネーム", + "GENERAL": "一般", + "GOTO": "後藤", + "GOTOIF": "ジャンプ", + "GOTOP": "上に行きます", + "GOTOREALTIME_CHATQUEUE": "リアルタイムチャットキューに移動", + "HEADERSHAPE": "ヘッダーシェイプ", + "HEADER_OFFLINE": "オフラインヘッダー", + "HEADER_ONLINE": "オンラインヘッダー", + "HIDEWHENOFFLINE": "隠す", + "ID": "イド", + "IDLE": "アイドル", "INFO": "情報", - "OFFLINEMESSAGES_CHATWEBSITE": "オフラインメッセージの移動", - "WAITINGTITLE": "待機中のタイトル", - "WAITINGMESSAGE": "メッセージを待っている", - "RATING": "定格", - "NO_RATINGVALUE": "評価されていない", - "AGENTSADD_QUEUE": "エージェントチャットキューに追加します。", - "QUEUES": "キュー", - "LOGGED_IN": "ログインしている", - "PAUSED": "一時停止", - "READY": "準備ができました", - "WAITING": "待機している", - "WRITING": "書き", - "MAIL": "メール", - "SMS": "SMS", - "OPENCHANNEL": "Openchannel", - "FAX": "ファクス", - "PAUSE": "一時停止", - "REALTIME": "リアルタイム", - "AGENTS": "担当者", - "FULLNAME": "完全な名前", + "INSERT_MESSAGE_HERE": "あなたのテキストメッセージをここに挿入してください", + "INTERACTION": "インタラクション", + "INTERACTIONS": "インタラクション", + "INTERACTIONS_CHATWEBSITE": "インタラクションへ行く", "INTERNAL": "内部", - "PHONE_STATE": "電話の状態", - "PHONE_STATUS": "電話のステータス", + "INTERVAL": "間隔", + "IN_USE": "使用中で", + "KEY": "キー", + "LABELS": "ラベル", + "LIST": "リスト", + "LOGGED_IN": "ログインした", + "LOGO": "ロゴ", "LOGOUT": "ログアウト", - "UNPAUSE": "最後の一時停止", - "AGENTADD_QUEUE": "エージェントチャットキューに追加します。", - "DEFAULT_PAUSE": "デフォルトの一時停止", - "UNKNOWN": "不明な", - "UNREGISTERED": "登録されていない", - "UNAVAILABLE": "使用できません。", - "NOT_INUSE": "使用されていません。", - "REACHABLE": "到達可能", - "IN_USE": "のを使用します。", - "VOICE": "音声", - "NO_AGENT_ONLINE": "エージェントのオンラインがありません", - "GOTOREALTIME_CHATQUEUE": "リアルタイムのチャットキューに移動します。", - "PARTIALPAUSE": "部分的に一時停止", - "BUSY": "忙しい", - "TIMER": "タイマー", - "IDLE": "アイドル", - "CAPACITY": "容量", - "TAGS": "タグ", - "SHOWAGENTAVATAR": "パーソナルエージェントのアバター", - "AGENTAVATAR": "エージェントのアバター", - "SPYINTERACTION": "スパイ", - "INTERACTIONS_CHATWEBSITE": "相互作用に移動します。", - "REFRESH_INTERACTIONS": "リフレッシュの相互作用", - "CLOSINGQUESTION": "閉じる質問", - "WEBSCRIPT": "Webスクリプト", - "CANNEDANSWERS": "缶詰アンサー", - "CHATCANNEDANSWERS": "缶詰アンサー", - "NO_CHATCANNEDANSWER_AVAILABLE": "缶詰の回答はありません", + "MAIL": "Eメール", + "MAINCOLOR": "メインカラー", + "MESSAGE": "メッセージ", + "MESSAGE_TITLE": "メッセージラベル", + "MOTIONADDRESS": "ウェブサイトドメイン", + "MOTIONPROXY": "プロキシまたはモーションドメイン", + "MOUSEOVER": "マウスオーバー", + "NAME": "名", + "NAME_TITLE": "名前入力ラベル", "NEW_CHATCANNEDANSWER": "新しい缶詰アンサー", - "ADD_CHATCANNEDANSWER": "缶詰の回答を追加", - "EDIT_CHATCANNEDANSWER": "編集", - "DELETE_CHATCANNEDANSWER": "削除", - "OFFLINEMESSAGESUBJECT": "メッセージの件名", - "OFFLINEMESSAGEBODY": "メッセージ本文", - "FORMSUBMITSUCCESSMESSAGE": "フォーム送信成功メッセージ", - "FORMSUBMITFAILUREMESSAGE": "フォーム送信エラーメッセージ", - "PLACEHOLDERMESSAGE": "メッセージプレースホルダ", + "NEW_CHATDISPOSITION": "新しいチャットの処分", + "NEW_CHATPROACTIVEACTION": "新しい積極的な行動", + "NEW_CHATQUEUE": "新しいチャットキュー", + "NEW_CHATWEBSITE": "新しいチャットウェブサイト", + "NONE": "なし", + "NOOP": "いいえ", + "NOTES": "ノート", "NOTETITLE": "ノートのタイトル", - "DELETE_INTERACTION": "インタラクションの削除", - "FONTSIZE": "フォントサイズ", - "TEXTCOLOR": "テキストの色", - "COMMAND": "コマンド", - "EDIT_SYSTEM": "システムの編集", - "SYSTEM": "システム", "NOTIFICATION": "お知らせ", "NOTIFICATIONSHAKE": "振る", "NOTIFICATIONSOUND": "音", "NOTIFICATIONTEMPLATE": "テンプレート", - "HIDEWHENOFFLINE": "隠す" + "NOT_INUSE": "使用されていません", + "NO_AGENT_ONLINE": "オンライン代理店はありません", + "NO_AVAILABLE_INFO": "利用可能な情報がありません", + "NO_CHATCANNEDANSWER_AVAILABLE": "缶詰の回答はありません", + "NO_CHATDISPOSITION_AVAILABLE": "利用可能なチャットディスポジションはありません", + "NO_CHATPROACTIVEACTION_AVAILABLE": "事前対処可能なアクションはありません", + "NO_INTERACTION_AVAILABLE": "インタラクションは利用できません", + "NO_OFFLINEMESSAGE_AVAILABLE": "オフラインメッセージはありません", + "NO_RATINGVALUE": "評価なし", + "OF": "の", + "OFFLINE": "オフライン", + "OFFLINEMESSAGEBODY": "メッセージ本文", + "OFFLINEMESSAGES": "オフラインメッセージ", + "OFFLINEMESSAGESUBJECT": "メッセージの件名", + "OFFLINEMESSAGES_CHATWEBSITE": "オフラインメッセージに移動", + "OFFLINESTATE": "オフラインステータス", + "OFFLINESTATUS": "オフラインステータス", + "OFFLINETEMPLATE": "オフラインテンプレート", + "OFFLINE_CHAT_BUTTON": "「オフラインチャット」ボタン", + "OFFLINE_MESSAGE": "オフラインメッセージ", + "ONLINE": "オンライン", + "ONLINESTATE": "オンラインステータス", + "ONLINESTATUS": "オンラインステータス", + "ONLINE_MESSAGE": "オンラインメッセージ", + "OPEN": "開いた", + "OPENCHANNEL": "オープンチャンネル", + "OPENED": "開いた", + "PAGE": "ページ", + "PARTIALPAUSE": "部分的な一時停止", + "PAUSE": "一時停止", + "PAUSED": "一時停止中", + "PHONE_STATE": "電話の状態", + "PHONE_STATUS": "電話ステータス", + "PLACEHOLDERMESSAGE": "メッセージプレースホルダ", + "PREVIEW": "プレビュー", + "PRIORITY": "優先", + "PROACTIVE": "積極的な", + "PROACTIVEACTIONS": "プロアクティブアクション", + "QUEUE": "キュー", + "QUEUES": "キュー", + "RATING": "評価", + "RATINGSTARSNUMBER": "スター数を評価する", + "RATINGSTATE": "格付け状態", + "RATINGTYPE": "評価タイプ", + "RATING_MESSAGE": "評価メッセージ", + "RATING_SEND": "送信ボタンテキストの評価", + "RATING_SKIP": "評価スキップボタンテキスト", + "REACHABLE": "到達可能", + "READY": "準備完了", + "REALTIME": "リアルタイム", + "REFRESH_INTERACTIONS": "インタラクションのリフレッシュ", + "REJECT": "拒否", + "REJECTMETHOD": "拒否メソッド", + "REJECTURL": "拒否URL", + "ROUNDED": "丸みを帯びた", + "ROWSPERPAGE": "ページあたりの行数", + "SAVE": "セーブ", + "SCRIPT": "スクリプト", + "SEARCH_FOR_ANYONE": "サーチ", + "SELECTED": "選択された", + "SELECTED_AGENTS": "選択されたエージェント", + "SELECTED_TEAMS": "選ばれたチーム", + "SELECTED_WEBSITE": "ウェブサイトを選択", + "SELECTOR": "セレクタ", + "SELECT_ALL": "すべて選択", + "SELECT_NONE": "選択なし", + "SELECT_STATUS": "ステータスを選択", + "SELECT_WEBSITE": "ウェブサイトを選択", + "SENDUNMANAGED": "メッセージを送る", + "SETTINGS": "設定", + "SHOWAGENTAVATAR": "パーソナルエージェントのアバターを表示する", + "SHOW_OFFLINEMESSAGE": "ショー", + "SKIPMESSAGEBUTTON": "メッセージをスキップするボタン", + "SKIPUNMANAGED": "メッセージをスキップする", + "SMS": "SMS", + "SNIPPET": "スニペット", + "SPYINTERACTION": "スパイ", + "SQUARED": "正方形", + "STARTEDAT": "開始日", + "START_CHAT_BUTTON": "「チャット開始」ボタン", + "STATUS": "状態", + "STRATEGY": "戦略", + "SYSTEM": "システム", + "TAGS": "タグ", + "TEAMADD_CHATQUEUE": "チャットキューにチームを追加する", + "TEXT": "テキスト", + "TEXTCOLOR": "テキストの色", + "TIMEOUT": "タイムアウト", + "TIMER": "タイマー", + "TIMES": "インタラクションあたりの回数", + "TIMEZONE": "タイムゾーン", + "TOKEN": "トークン", + "TRUEPRIORITY": "真の優先順位", + "TYPE": "タイプ", + "UNAVAILABLE": "利用できません", + "UNKNOWN": "未知の", + "UNMANAGEDMESSAGE": "メッセージ", + "UNMANAGEDSTATUS": "管理されていないステータス", + "UNPAUSE": "終了ポーズ", + "UNREGISTERED": "未登録", + "UP": "アップ", + "USERNAME_PLACEHOLDER": "ユーザー名入力プレースホルダ", + "VALUE": "値", + "VARIABLE": "変数", + "VOICE": "音声", + "WAITING": "待っている", + "WAITINGMESSAGE": "待ちメッセージ", + "WAITINGTITLE": "待っているタイトル", + "WEBHOOKS": "WebHooks", + "WEBSCRIPT": "Webスクリプト", + "WEBSITE": "ウェブサイト", + "WEBSITEALIAS": "ウェブサイトエイリアス", + "WEBSITESCRIPT": "ウェブサイトスクリプト", + "WHITELABEL": "白いラベル", + "WRITING": "書き込み" } } \ No newline at end of file diff --git a/public/app/main/apps/chat/i18n/ko.json b/public/app/main/apps/chat/i18n/ko.json index b8cd340..400a128 100644 --- a/public/app/main/apps/chat/i18n/ko.json +++ b/public/app/main/apps/chat/i18n/ko.json @@ -357,6 +357,7 @@ "NOTIFICATIONSHAKE": "떨림", "NOTIFICATIONSOUND": "소리", "NOTIFICATIONTEMPLATE": "주형", - "HIDEWHENOFFLINE": "숨는 장소" + "HIDEWHENOFFLINE": "숨는 장소", + "INSERT_MESSAGE_HERE": "여기에 문자 메시지를 삽입하십시오." } } \ No newline at end of file diff --git a/public/app/main/apps/chat/i18n/lv.json b/public/app/main/apps/chat/i18n/lv.json index a514318..2622e29 100644 --- a/public/app/main/apps/chat/i18n/lv.json +++ b/public/app/main/apps/chat/i18n/lv.json @@ -357,6 +357,7 @@ "NOTIFICATIONSHAKE": "KratÄ«t", "NOTIFICATIONSOUND": "Skaņa", "NOTIFICATIONTEMPLATE": "Veidne", - "HIDEWHENOFFLINE": "Paslēpt" + "HIDEWHENOFFLINE": "Paslēpt", + "INSERT_MESSAGE_HERE": "Å eit ievietojiet savu Ä«sziņu" } } \ No newline at end of file diff --git a/public/app/main/apps/chat/i18n/nl.json b/public/app/main/apps/chat/i18n/nl.json index c6c262a..23b48ba 100644 --- a/public/app/main/apps/chat/i18n/nl.json +++ b/public/app/main/apps/chat/i18n/nl.json @@ -357,6 +357,7 @@ "NOTIFICATIONSHAKE": "Schudden", "NOTIFICATIONSOUND": "Geluid", "NOTIFICATIONTEMPLATE": "Sjabloon", - "HIDEWHENOFFLINE": "Verbergen" + "HIDEWHENOFFLINE": "Verbergen", + "INSERT_MESSAGE_HERE": "Voer hier uw sms-bericht in" } } \ No newline at end of file diff --git a/public/app/main/apps/chat/i18n/no.json b/public/app/main/apps/chat/i18n/no.json index bc9274a..5a98025 100644 --- a/public/app/main/apps/chat/i18n/no.json +++ b/public/app/main/apps/chat/i18n/no.json @@ -357,6 +357,7 @@ "NOTIFICATIONSHAKE": "Riste", "NOTIFICATIONSOUND": "Lyd", "NOTIFICATIONTEMPLATE": "Mal", - "HIDEWHENOFFLINE": "Gjemme seg" + "HIDEWHENOFFLINE": "Gjemme seg", + "INSERT_MESSAGE_HERE": "Sett inn tekstmeldingen din her" } } \ No newline at end of file diff --git a/public/app/main/apps/chat/i18n/pl.json b/public/app/main/apps/chat/i18n/pl.json index 6d5daa7..23cf35d 100644 --- a/public/app/main/apps/chat/i18n/pl.json +++ b/public/app/main/apps/chat/i18n/pl.json @@ -357,6 +357,7 @@ "NOTIFICATIONSHAKE": "Potrząsnąć", "NOTIFICATIONSOUND": "Dźwięk", "NOTIFICATIONTEMPLATE": "Szablon", - "HIDEWHENOFFLINE": "Ukryć" + "HIDEWHENOFFLINE": "Ukryć", + "INSERT_MESSAGE_HERE": "Tutaj wstaw wiadomość tekstową" } } \ No newline at end of file diff --git a/public/app/main/apps/chat/i18n/pt-PT.json b/public/app/main/apps/chat/i18n/pt-PT.json index a78df84..5b11b7b 100644 --- a/public/app/main/apps/chat/i18n/pt-PT.json +++ b/public/app/main/apps/chat/i18n/pt-PT.json @@ -357,6 +357,7 @@ "NOTIFICATIONSHAKE": "Mexe", "NOTIFICATIONSOUND": "Som", "NOTIFICATIONTEMPLATE": "Modelo", - "HIDEWHENOFFLINE": "ocultar" + "HIDEWHENOFFLINE": "ocultar", + "INSERT_MESSAGE_HERE": "Insira sua mensagem de texto aqui" } } \ No newline at end of file diff --git a/public/app/main/apps/chat/i18n/ru.json b/public/app/main/apps/chat/i18n/ru.json index ba0f417..299ab05 100644 --- a/public/app/main/apps/chat/i18n/ru.json +++ b/public/app/main/apps/chat/i18n/ru.json @@ -357,6 +357,7 @@ "NOTIFICATIONSHAKE": "Встряска", "NOTIFICATIONSOUND": "звук", "NOTIFICATIONTEMPLATE": "шаблон", - "HIDEWHENOFFLINE": "Спрятать" + "HIDEWHENOFFLINE": "Спрятать", + "INSERT_MESSAGE_HERE": "Вставьте свое текстовое сообщение здесь" } } \ No newline at end of file diff --git a/public/app/main/apps/chat/i18n/sv.json b/public/app/main/apps/chat/i18n/sv.json index e29b953..14b9c5e 100644 --- a/public/app/main/apps/chat/i18n/sv.json +++ b/public/app/main/apps/chat/i18n/sv.json @@ -357,6 +357,7 @@ "NOTIFICATIONSHAKE": "Skaka", "NOTIFICATIONSOUND": "Ljud", "NOTIFICATIONTEMPLATE": "Mall", - "HIDEWHENOFFLINE": "Dölj" + "HIDEWHENOFFLINE": "Dölj", + "INSERT_MESSAGE_HERE": "Sätt ditt textmeddelande här" } } \ No newline at end of file diff --git a/public/app/main/apps/chat/i18n/tr.json b/public/app/main/apps/chat/i18n/tr.json index 6085ebe..9cdbe30 100644 --- a/public/app/main/apps/chat/i18n/tr.json +++ b/public/app/main/apps/chat/i18n/tr.json @@ -357,6 +357,7 @@ "NOTIFICATIONSHAKE": "Sallamak", "NOTIFICATIONSOUND": "Ses", "NOTIFICATIONTEMPLATE": "şablon", - "HIDEWHENOFFLINE": "Saklamak" + "HIDEWHENOFFLINE": "Saklamak", + "INSERT_MESSAGE_HERE": "Metin mesajınızı buraya ekleyin" } } \ No newline at end of file diff --git a/public/app/main/apps/chat/i18n/zh-CN.json b/public/app/main/apps/chat/i18n/zh-CN.json index a77b8ab..6b1209e 100644 --- a/public/app/main/apps/chat/i18n/zh-CN.json +++ b/public/app/main/apps/chat/i18n/zh-CN.json @@ -357,6 +357,7 @@ "NOTIFICATIONSHAKE": "摇", "NOTIFICATIONSOUND": "声音", "NOTIFICATIONTEMPLATE": "模板", - "HIDEWHENOFFLINE": "隐藏" + "HIDEWHENOFFLINE": "隐藏", + "INSERT_MESSAGE_HERE": "在此处插入您的短信" } } \ No newline at end of file diff --git a/public/app/main/apps/chat/i18n/zh-TW.json b/public/app/main/apps/chat/i18n/zh-TW.json index 408a38c..d78c9a1 100644 --- a/public/app/main/apps/chat/i18n/zh-TW.json +++ b/public/app/main/apps/chat/i18n/zh-TW.json @@ -357,6 +357,7 @@ "NOTIFICATIONSHAKE": "搖", "NOTIFICATIONSOUND": "聲音", "NOTIFICATIONTEMPLATE": "模板", - "HIDEWHENOFFLINE": "隱藏" + "HIDEWHENOFFLINE": "隱藏", + "INSERT_MESSAGE_HERE": "在此處插入您的短信" } } \ No newline at end of file diff --git a/public/app/main/apps/contactmanager/i18n/da.json b/public/app/main/apps/contactmanager/i18n/da.json index 6c7838c..8c32a3f 100644 --- a/public/app/main/apps/contactmanager/i18n/da.json +++ b/public/app/main/apps/contactmanager/i18n/da.json @@ -155,6 +155,11 @@ "EXPORT_ERRORS": "Eksporter fejl", "UPLOAD_COMPLETED": "Upload fuldført", "STOP": "Hold op", - "SELECT_FILE": "Vælg fil" + "SELECT_FILE": "Vælg fil", + "IMPORT_CONTACTS": "Importer kontakter", + "MOTIONDIALER": "Motion Bull", + "PREFIX": "Dial Prefix", + "PRIORITY": "Prioritet", + "USERID": "Husk agent ID" } } \ No newline at end of file diff --git a/public/app/main/apps/contactmanager/i18n/de.json b/public/app/main/apps/contactmanager/i18n/de.json index f16deff..70c759d 100644 --- a/public/app/main/apps/contactmanager/i18n/de.json +++ b/public/app/main/apps/contactmanager/i18n/de.json @@ -155,6 +155,11 @@ "EXPORT_ERRORS": "Fehler exportieren", "UPLOAD_COMPLETED": "Hochladen abgeschlossen", "STOP": "Halt", - "SELECT_FILE": "Datei aussuchen" + "SELECT_FILE": "Datei aussuchen", + "IMPORT_CONTACTS": "Kontakte importieren", + "MOTIONDIALER": "Motion Bull", + "PREFIX": "Vorwahl wählen", + "PRIORITY": "Priorität", + "USERID": "Rückruf der Agenten-ID" } } \ No newline at end of file diff --git a/public/app/main/apps/contactmanager/i18n/en.json b/public/app/main/apps/contactmanager/i18n/en.json index 8174767..57d2ffb 100644 --- a/public/app/main/apps/contactmanager/i18n/en.json +++ b/public/app/main/apps/contactmanager/i18n/en.json @@ -1,5 +1,10 @@ { "CONTACTMANAGER": { + "USERID": "Recall Agent ID", + "PRIORITY": "Priority", + "MOTIONDIALER": "Motion Bull", + "IMPORT_CONTACTS": "Import Contacts", + "PREFIX": "Dial Prefix", "VOICEQUEUEID": "VoiceQueue ID", "CAMPAIGNID": "Campaign ID", "STATE": "State", @@ -14,7 +19,7 @@ "FINAL": "Hopper Final", "HISTORY": "Hopper History", "SCHEDULEDAT": "Scheduled At", - "SEARCH_FOR_ANYONE": "Search for anyone", + "SEARCH_FOR_ANYONE": "Search", "EDIT_LIST": "Edit List", "EDIT_HOPPER": "Edit Hopper", "DELETE_LIST": "Delete List", diff --git a/public/app/main/apps/contactmanager/i18n/es.json b/public/app/main/apps/contactmanager/i18n/es.json index 989d4c2..810549e 100644 --- a/public/app/main/apps/contactmanager/i18n/es.json +++ b/public/app/main/apps/contactmanager/i18n/es.json @@ -1,160 +1,165 @@ { "CONTACTMANAGER": { - "VOICEQUEUEID": "ID VoiceQueue", - "CAMPAIGNID": "ID de campaña", - "STATE": "Estado", - "NAME": "Nombre", - "LISTS": "Listas", - "UNIQUEID": "Uniqueid", - "STATUS": "El estado", - "STARTTIME": "Hora de inicio", - "ENDTIME": "Hora de finalización", - "MOTION_BULL": "Motion Bull", - "HOPPER": "La tolva", - "FINAL": "Final de tolva", - "HISTORY": "Historia de tolva", - "SCHEDULEDAT": "Programadas en", - "SEARCH_FOR_ANYONE": "Buscar a alguien", - "EDIT_LIST": "Editar lista", - "EDIT_HOPPER": "Editar Hopper", - "DELETE_LIST": "Borrar lista", - "DELETE_HOPPER": "Eliminar la tolva", - "RELOAD": "Recargar", - "NO_COMPANIES": "Ninguna empresa", - "NO_AVAILABLE_ITEMS": "No hay elementos disponibles", - "ADD": "Agregar", "ERRORS": { - "NAME_REQUIRED": "El nombre es obligatorio", - "FIRSTNAME_REQUIRED": "El Nombre es obligatorio", - "PHONE_REQUIRED": "El teléfono es necesario", - "ALIAS_REQUIRED": "El alias es obligatorio", - "VALUE_REQUIRED": "El valor es obligatorio", - "EMAIL_MUST_VALID": "La dirección de correo electrónico deben escribirse en un formato válido", - "PHONEBAR_API": "Verificar que el MotionBar está funcionando y que el control remoto está habilitado para el agente." + "ALIAS_REQUIRED": "Campo obligatorio", + "EMAIL_MUST_VALID": "Formato erróneo", + "FIRSTNAME_REQUIRED": "Campo obligatorio", + "NAME_REQUIRED": "Campo obligatorio", + "PHONEBAR_API": "Compruebe que MotionBar se está ejecutando y el interruptor de control remoto para el agente está encendido", + "PHONE_REQUIRED": "Campo obligatorio", + "VALUE_REQUIRED": "Campo obligatorio" }, - "DESCRIPTION": "Descripción", - "DISPOSITION": "Disposición", - "DISPOSITIONS": "Disposiciones", - "VOICEDISPOSITIONS": "Disposiciones de voz", - "NEW_VOICEDISPOSITION": "Nueva disposición de voz", - "CUSTOM_FIELDS": "Campos personalizados", - "ADD_LIST": "Agregar lista", - "BACK": "Volver", - "SELECTED": "Seleccionado", - "SELECT_ALL": "Seleccionar todo", - "SELECT_NONE": "Seleccione Ninguno", - "COMPANIES": "Las empresas", - "EDIT_COMPANY": "Edite la empresa", - "DELETE_COMPANY": "Eliminar empresa", - "PHONE": "Teléfono", - "EMAIL": "Correo electrónico", - "ADD_COMPANY": "Agregar Empresa", - "CONTACTS": "Contactos", - "NEW_LIST": "Nueva lista", - "FIRSTNAME": "Primer Nombre", - "LASTNAME": "Apellido", - "LIST": "Lista", - "COMPANY": "Compañía", + "HELP": { + "PHONEBAR_API": "Para habilitar el clic para llamar, inserte un número de teléfono y verifique que el interruptor de control remoto para el agente esté encendido.", + "PHONEBAR_API_MESSAGE": "Para habilitar el clic para llamar, inserte un número de teléfono y verifique que el interruptor de control remoto para el agente esté encendido." + }, + "ADD": "Añadir", + "ADDRESS": "Dirección", + "ADD_AGENT_TO_LIST": "Agregar agente a la lista", + "ADD_COMPANY": "Añadir empresa", "ADD_CONTACT": "Agregar contacto", - "EDIT_CONTACT": "Editar contacto", - "MERGE_CONTACT": "Combinar Contacto", - "DUPLICATE_CONTACT": "Contacto duplicado", - "DELETE_CONTACT": "Eliminar contacto", - "CREATED_AT": "Creado en", - "SAVE": "Guardar", - "DETAIL": "Detalle", - "PERSONAL_INFO": "Información personal", - "MOBILE": "Mobile", - "FAX": "Fax", - "TAGS": "Tags", - "SHOW_ALL_FIELDS": "Mostrar todos los campos", - "FEWER_FIELDS": "Mostrar menos campos", - "COUNTRY": "País", + "ADD_CUSTOMFIELD": "Agregar campo personalizado", + "ADD_GLOBALCUSTOMFIELD": "Agregar campo personalizado", + "ADD_LIST": "Añadir lista", + "ADD_TAG": "Añadir etiqueta", + "ADD_VOICEDISPOSITION": "Agregar Disposición de voz", + "AGENT": "Agente", + "AGENTADD_LIST": "Agregar agentes a la lista", + "ALIAS": "Alias", + "ALL_AGENTS": "Todos los agentes", + "ALL_CONTACTS": "Todos los contactos", + "BACK": "Espalda", + "CAMPAIGNID": "ID de campaña", + "CHECK_DUPLICATES": "Verificar duplicados", "CITY": "Ciudad", - "STREET": "Street", - "POSTALCODE": "Código postal", - "DELETE": "Eliminar", + "COMPANIES": "Empresas", + "COMPANY": "Empresa", + "COMPANYID": "ID de la empresa", + "CONTACTMANAGER": "Gestor de Contactos", + "CONTACTS": "Contactos", + "COPY_CONTACT": "Copiar contacto", + "COUNTRY": "País", + "CREATED_AT": "Creado en", + "CUSTOMFIELDS": "Campos Personalizados", + "CUSTOM_FIELDS": "Campos Personalizados", + "DATEOFBIRTH": "Fecha de nacimiento", + "DATE_OF_BIRTH": "Fecha de nacimiento", + "DELETE": "Borrar", "DELETE_ALL": "Eliminar todos", - "CONTACTMANAGER": "Administrador de contactos", - "ID": "Id", - "SETTINGS": "Configuración", - "GENERAL": "General", - "CUSTOMFIELDS": "Campos personalizados", - "NO_CUSTOMFIELD_AVAILABLE": "No hay campos personalizados disponibles", - "ADD_TAG": "Agregar etiqueta", - "NO_TAG": "Sin etiquetas", - "ALIAS": "Alias", - "TYPE": "Tipo", - "VALUE": "Valor", - "ADD_CUSTOMFIELD": "Agregar campo personalizado", - "EDIT_CUSTOMFIELD": "Editar campo personalizado", + "DELETE_COMPANY": "Eliminar empresa", + "DELETE_CONTACT": "Borrar contacto", "DELETE_CUSTOMFIELD": "Eliminar campo personalizado", - "NEW_COMPANY": "Nueva empresa", - "NEW_CONTACT": "Nuevo contacto", - "NEW_TAG": "Nueva etiqueta", - "UPLOAD_CONTACTS": "Cargar los contactos", - "FINISH": "Finalizar", - "SUCCESS": "Éxito", - "FAILURE": "Fracaso", - "ALL_CONTACTS": "Todos los contactos", - "NEW_CUSTOMFIELD": "Nuevo campo personalizado", - "NO_VOICEDISPOSITION_AVAILABLE": "No hay disposiciones de voz disponible", - "ADD_VOICEDISPOSITION": "Añadir voz Disposición", - "EDIT_VOICEDISPOSITION": "Editar voz Disposición", + "DELETE_GLOBALCUSTOMFIELD": "Eliminar campo personalizado", + "DELETE_HOPPER": "Eliminar tolva", + "DELETE_LIST": "Eliminar lista", "DELETE_VOICEDISPOSITION": "Eliminar la disposición de voz", - "VAT": "Iva", - "COMPANYID": "La identificación de la compañía", - "WEBSITE": "Sitio web", - "EMAIL_DOMAIN": "El dominio de correo electrónico", - "ADDRESS": "Dirección", - "POSTAL_CODE": "Código postal", - "SHIPMENTADDRESS": "Dirección de envío", - "COPY_CONTACT": "Copiar contacto", - "GOTOCONTACTS_LIST": "Mostrar contactos", - "GOTOCONTACTS_COMPANY": "Mostrar contactos", - "ADD_AGENT_TO_LIST": "Agregar a la lista de agentes", - "AGENTADD_LIST": "Agregar a la lista de agentes", - "NO_AVAILABLE_INFO": "No hay información disponible", - "NONE": "Ninguno", - "FULLNAME": "Nombre completo", - "CHECK_DUPLICATES": "Verificar duplicados", + "DESCRIPTION": "Descripción", + "DETAIL": "Detalle", + "DISPOSITION": "Disposición", + "DISPOSITIONS": "Plan", "DUPLICATES": "Duplicados", - "UPLOAD_CSV": "Cargar archivo CSV", - "TAG": "Tag", - "UPLOAD": "Subir", - "ALL_AGENTS": "Todos los agentes", - "SELECTED_AGENTS": "Los agentes seleccionados", - "DATE_OF_BIRTH": "Fecha de nacimiento", - "DATEOFBIRTH": "Fecha de nacimiento", - "NOTES": "Notas", + "DUPLICATE_CONTACT": "Contacto duplicado", + "EDIT_COMPANY": "Editar empresa", + "EDIT_CONTACT": "Editar contacto", + "EDIT_CUSTOMFIELD": "Editar campo personalizado", + "EDIT_GLOBALCUSTOMFIELD": "Editar campo personalizado", + "EDIT_HOPPER": "Editar tolva", + "EDIT_LIST": "Lista de edición", + "EDIT_VOICEDISPOSITION": "Editar Disposición de Voz", + "EMAIL": "Email", + "EMAIL_DOMAIN": "Dominio de correo electrónico", + "ENDTIME": "Hora de finalización", "EXPORTCSVCONTACTS_LIST": "Exportar a CSV", - "GOTO_LIST": "Mostrar contactos", - "GOTO_COMPANY": "Mostrar contactos", - "REQUIRED": "Requerido", + "EXPORT_ERRORS": "Errores de exportación", + "FAILURE": "Fracaso", + "FAX": "Fax", + "FEWER_FIELDS": "Mostrar menos campos", + "FINAL": "Hopper Final", + "FINISH": "Terminar", + "FIRSTNAME": "Nombre de pila", + "FULLNAME": "Nombre completo", + "GENERAL": "General", "GLOBALCUSTOMFIELDS": "Campos personalizados globales", - "NEW_GLOBALCUSTOMFIELD": "Nuevos campos personalizados", - "ADD_GLOBALCUSTOMFIELD": "Agregar campo personalizado", - "EDIT_GLOBALCUSTOMFIELD": "Editar campo personalizado", - "DELETE_GLOBALCUSTOMFIELD": "Eliminar campo personalizado", + "GOTOCONTACTS_COMPANY": "Mostrar contactos", + "GOTOCONTACTS_LIST": "Mostrar contactos", + "GOTO_COMPANY": "Mostrar contactos", + "GOTO_LIST": "Mostrar contactos", + "HISTORY": "Historia de Hopper", + "HOPPER": "Tolva", + "ID": "Id", + "IMPORT_CONTACTS": "Importar contactos", "JSCRIPTY": "Jscripty", - "SESSIONS": "Sesiones", - "AGENT": "Agent", + "LASTNAME": "Apellido", + "LIST": "Lista", + "LISTS": "Liza", + "MERGE_CONTACT": "Fusionar contacto", + "MOBILE": "Móvil", + "MOTIONDIALER": "Motion Bull", + "MOTION_BULL": "Motion Bull", + "NAME": "Nombre", + "NEW_COMPANY": "Nueva compañia", + "NEW_CONTACT": "Nuevo contacto", + "NEW_CUSTOMFIELD": "Nuevo campo personalizado", + "NEW_GLOBALCUSTOMFIELD": "Nuevos campos personalizados", + "NEW_LIST": "Lista nueva", + "NEW_TAG": "Nueva etiqueta", + "NEW_VOICEDISPOSITION": "Nueva disposición de voz", + "NONE": "Ninguna", + "NOTES": "Notas", + "NO_AVAILABLE_INFO": "No hay información disponible", + "NO_AVAILABLE_ITEMS": "No hay elementos disponibles", + "NO_COMPANIES": "Sin empresas", + "NO_CUSTOMFIELD_AVAILABLE": "No hay campos personalizados disponibles", + "NO_TAG": "No etiquetas", + "NO_VOICEDISPOSITION_AVAILABLE": "No hay Disposiciones de voz disponibles", + "OF": "de", + "PAGE": "Página", + "PERSONAL_INFO": "Información personal", + "PHONE": "Teléfono", + "POSTALCODE": "Código postal", + "POSTAL_CODE": "Código postal", + "PREFIX": "Prefijo de marcado", + "PRIORITY": "Prioridad", "PROJECT": "Proyecto", - "SELECT_LIST": "Seleccione una lista", + "RELOAD": "Recargar", + "REQUIRED": "Necesario", + "ROW": "Fila", + "ROWSPERPAGE": "Filas por página", + "SAVE": "Salvar", + "SCHEDULEDAT": "Programado en", + "SEARCH_FOR_ANYONE": "Busque a alguien", + "SELECTED": "Seleccionado", + "SELECTED_AGENTS": "Agentes seleccionados", + "SELECT_ALL": "Seleccionar todo", "SELECT_COMPANY": "Seleccione una empresa", + "SELECT_FILE": "Seleccione Archivo", + "SELECT_LIST": "Seleccione una lista", + "SELECT_NONE": "Seleccione Ninguno", "SELECT_TAGS": "Seleccione una o más etiquetas", - "HELP": { - "PHONEBAR_API": "Para permitir hacer clic para llamar insertar un número de teléfono y compruebe que el control remoto está habilitado para el agente.", - "PHONEBAR_API_MESSAGE": "Para habilitar el clic para llamar, inserte un número de teléfono y verifique que el interruptor de control remoto para el agente esté encendido." - }, - "PAGE": "Página", - "ROWSPERPAGE": "Filas por página.", - "OF": "De", - "SOCIAL": "Sociales", - "ROW": "Fila", - "EXPORT_ERRORS": "Errores de exportación", - "UPLOAD_COMPLETED": "Subir completado", + "SESSIONS": "Sesiones", + "SETTINGS": "Configuraciones", + "SHIPMENTADDRESS": "Dirección de entrega", + "SHOW_ALL_FIELDS": "Mostrar todos los campos", + "SOCIAL": "Social", + "STARTTIME": "Hora de inicio", + "STATE": "Estado", + "STATUS": "Estado", "STOP": "Detener", - "SELECT_FILE": "Seleccione Archivo" + "STREET": "Calle", + "SUCCESS": "Éxito", + "TAG": "Etiqueta", + "TAGS": "Etiquetas", + "TYPE": "Tipo", + "UNIQUEID": "Identificación única", + "UPLOAD": "Subir", + "UPLOAD_COMPLETED": "Subir completado", + "UPLOAD_CONTACTS": "Subir contactos", + "UPLOAD_CSV": "Subir CSV", + "USERID": "Llamar a la identificación del agente", + "VALUE": "Valor", + "VAT": "TINA", + "VOICEDISPOSITIONS": "Disposiciones de voz", + "VOICEQUEUEID": "ID de VoiceQueue", + "WEBSITE": "Sitio web" } } \ No newline at end of file diff --git a/public/app/main/apps/contactmanager/i18n/fa.json b/public/app/main/apps/contactmanager/i18n/fa.json index c4f7b08..bb1848f 100644 --- a/public/app/main/apps/contactmanager/i18n/fa.json +++ b/public/app/main/apps/contactmanager/i18n/fa.json @@ -155,6 +155,11 @@ "EXPORT_ERRORS": "خطاهای صادرات", "UPLOAD_COMPLETED": "آپلود کامل شده است", "STOP": "متوقف کردن", - "SELECT_FILE": "فایل را انتخاب کنید" + "SELECT_FILE": "فایل را انتخاب کنید", + "IMPORT_CONTACTS": "وارد کردن مخاطبین", + "MOTIONDIALER": "حرکت بول", + "PREFIX": "پیشوند شماره گیری کنید", + "PRIORITY": "اولویت", + "USERID": "به یادآوری شناسه نمایندگی" } } \ No newline at end of file diff --git a/public/app/main/apps/contactmanager/i18n/fi.json b/public/app/main/apps/contactmanager/i18n/fi.json index e363d53..dd2df1b 100644 --- a/public/app/main/apps/contactmanager/i18n/fi.json +++ b/public/app/main/apps/contactmanager/i18n/fi.json @@ -155,6 +155,11 @@ "EXPORT_ERRORS": "Vie virheet", "UPLOAD_COMPLETED": "Lataus on valmis", "STOP": "Stop", - "SELECT_FILE": "Valitse tiedosto" + "SELECT_FILE": "Valitse tiedosto", + "IMPORT_CONTACTS": "Tuo yhteystiedot", + "MOTIONDIALER": "Motion Bull", + "PREFIX": "Dial Prefix", + "PRIORITY": "prioriteetti", + "USERID": "Recall Agent ID" } } \ No newline at end of file diff --git a/public/app/main/apps/contactmanager/i18n/fr.json b/public/app/main/apps/contactmanager/i18n/fr.json index 859ac44..1d2653f 100644 --- a/public/app/main/apps/contactmanager/i18n/fr.json +++ b/public/app/main/apps/contactmanager/i18n/fr.json @@ -155,6 +155,11 @@ "EXPORT_ERRORS": "Erreurs d'exportation", "UPLOAD_COMPLETED": "Téléchargement terminé", "STOP": "Arrêtez", - "SELECT_FILE": "Choisir le dossier" + "SELECT_FILE": "Choisir le dossier", + "IMPORT_CONTACTS": "Contacts d'importation", + "MOTIONDIALER": "Motion Bull", + "PREFIX": "Préfixe de numérotation", + "PRIORITY": "Priorité", + "USERID": "Identifiant de l'agent de rappel" } } \ No newline at end of file diff --git a/public/app/main/apps/contactmanager/i18n/hi.json b/public/app/main/apps/contactmanager/i18n/hi.json index 808af4b..153b61d 100644 --- a/public/app/main/apps/contactmanager/i18n/hi.json +++ b/public/app/main/apps/contactmanager/i18n/hi.json @@ -155,6 +155,11 @@ "EXPORT_ERRORS": "निर्यात त्रुटियाँ", "UPLOAD_COMPLETED": "पूर्ण अपलोड करें", "STOP": "रुकें", - "SELECT_FILE": "फ़ाइल का चयन करें" + "SELECT_FILE": "फ़ाइल का चयन करें", + "IMPORT_CONTACTS": "संपर्क आयात करें", + "MOTIONDIALER": "मोशन बुल", + "PREFIX": "डायल उपसर्ग", + "PRIORITY": "प्राथमिकता", + "USERID": "एजेंट आईडी याद करें" } } \ No newline at end of file diff --git a/public/app/main/apps/contactmanager/i18n/it.json b/public/app/main/apps/contactmanager/i18n/it.json index fae445b..34045d3 100644 --- a/public/app/main/apps/contactmanager/i18n/it.json +++ b/public/app/main/apps/contactmanager/i18n/it.json @@ -1,5 +1,6 @@ { "CONTACTMANAGER": { + "PREFIX": "Prefisso di chiamata", "VOICEQUEUEID": "VoiceQueue ID", "CAMPAIGNID": "Campaign ID", "NAME": "Nome", @@ -155,6 +156,10 @@ "EXPORT_ERRORS": "Esporta Errori", "UPLOAD_COMPLETED": "Caricamento Completato", "STOP": "Stop", - "SELECT_FILE": "Seleziona File" + "SELECT_FILE": "Seleziona File", + "IMPORT_CONTACTS": "Importa contatti", + "MOTIONDIALER": "Motion Bull", + "PRIORITY": "Priorità", + "USERID": "Richiama l'agente" } } \ No newline at end of file diff --git a/public/app/main/apps/contactmanager/i18n/ja.json b/public/app/main/apps/contactmanager/i18n/ja.json index 543bdb3..bff1e03 100644 --- a/public/app/main/apps/contactmanager/i18n/ja.json +++ b/public/app/main/apps/contactmanager/i18n/ja.json @@ -1,160 +1,165 @@ { "CONTACTMANAGER": { - "VOICEQUEUEID": "VoiceQueue ID", - "CAMPAIGNID": "キャンペーン ID", - "STATE": "状態", - "NAME": "名", - "LISTS": "リスト", - "UNIQUEID": "Uniqueid", - "STATUS": "ステータス", - "STARTTIME": "開始時刻", - "ENDTIME": "終了時間", - "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 を実行していること、およびエージェントのリモート制御が有効になっているかどうかを確認" + "ALIAS_REQUIRED": "必須フィールド", + "EMAIL_MUST_VALID": "間違ったフォーマット", + "FIRSTNAME_REQUIRED": "必須フィールド", + "NAME_REQUIRED": "必須フィールド", + "PHONEBAR_API": "MotionBarが実行中で、エージェントのリモートコントロールスイッチがオンになっていることを確認してください", + "PHONE_REQUIRED": "必須フィールド", + "VALUE_REQUIRED": "必須フィールド" }, - "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": "リスト", + "HELP": { + "PHONEBAR_API": "Click-to-Callを有効にするには、電話番号を挿入し、エージェントがオンになっていることをリモート制御スイッチで確認します", + "PHONEBAR_API_MESSAGE": "Click-to-Callを有効にするには、電話番号を挿入し、エージェントがオンになっていることをリモート制御スイッチで確認します" + }, + "ADD": "追加", + "ADDRESS": "住所", + "ADD_AGENT_TO_LIST": "エージェントをリストに追加する", + "ADD_COMPANY": "会社を追加", + "ADD_CONTACT": "連絡先を追加", + "ADD_CUSTOMFIELD": "カスタムフィールドの追加", + "ADD_GLOBALCUSTOMFIELD": "カスタムフィールドの追加", + "ADD_LIST": "リストを追加", + "ADD_TAG": "タグ付けする", + "ADD_VOICEDISPOSITION": "音声処理を追加する", + "AGENT": "エージェント", + "AGENTADD_LIST": "エージェントをリストに追加する", + "ALIAS": "エイリアス", + "ALL_AGENTS": "すべてのエージェント", + "ALL_CONTACTS": "すべての連絡先", + "BACK": "バック", + "CAMPAIGNID": "キャンペーンID", + "CHECK_DUPLICATES": "重複をチェックする", + "CITY": "シティ", + "COMPANIES": "会社", "COMPANY": "会社", - "ADD_CONTACT": "連絡先を追加します。", - "EDIT_CONTACT": "連絡先の編集", - "MERGE_CONTACT": "マージにお問い合わせください", - "DUPLICATE_CONTACT": "重複した連絡先", - "DELETE_CONTACT": "連絡先を削除する", - "CREATED_AT": "で作成された", - "SAVE": "保存", - "DETAIL": "詳細", - "PERSONAL_INFO": "「個人情報」", - "MOBILE": "モバイル", - "FAX": "Fax", - "TAGS": "タグ", - "SHOW_ALL_FIELDS": "すべてのフィールドを表示します。", - "FEWER_FIELDS": "以下を表示するフィールド", + "COMPANYID": "会社ID", + "CONTACTMANAGER": "コンタクトマネージャー", + "CONTACTS": "連絡先", + "COPY_CONTACT": "連絡先のコピー", "COUNTRY": "国", - "CITY": "市", - "STREET": "ストリート", - "POSTALCODE": "郵便番号", + "CREATED_AT": "作成者:", + "CUSTOMFIELDS": "カスタムフィールド", + "CUSTOM_FIELDS": "カスタムフィールド", + "DATEOFBIRTH": "誕生日", + "DATE_OF_BIRTH": "誕生日", "DELETE": "削除", "DELETE_ALL": "すべて削除", - "CONTACTMANAGER": "連絡先管理マネージャ", - "ID": "Id", - "SETTINGS": "の設定", - "GENERAL": "一般的な", - "CUSTOMFIELDS": "カスタムフィールド", - "NO_CUSTOMFIELD_AVAILABLE": "カスタムフィールドがありません。", - "ADD_TAG": "タグの追加", - "NO_TAG": "タグがありません。", - "ALIAS": "エイリアス", - "TYPE": "タイプ", - "VALUE": "値", - "ADD_CUSTOMFIELD": "カスタムフィールドの追加", + "DELETE_COMPANY": "会社を削除する", + "DELETE_CONTACT": "連絡先を削除", + "DELETE_CUSTOMFIELD": "カスタムフィールドの削除", + "DELETE_GLOBALCUSTOMFIELD": "カスタムフィールドの削除", + "DELETE_HOPPER": "ホッパーを削除", + "DELETE_LIST": "リストを削除する", + "DELETE_VOICEDISPOSITION": "音声処理の削除", + "DESCRIPTION": "説明", + "DETAIL": "詳細", + "DISPOSITION": "配置", + "DISPOSITIONS": "処分", + "DUPLICATES": "重複", + "DUPLICATE_CONTACT": "重複連絡先", + "EDIT_COMPANY": "会社の編集", + "EDIT_CONTACT": "連絡先を編集", "EDIT_CUSTOMFIELD": "カスタムフィールドの編集", - "DELETE_CUSTOMFIELD": "カスタムフィールドを削除する", + "EDIT_GLOBALCUSTOMFIELD": "カスタムフィールドの編集", + "EDIT_HOPPER": "ホッパーを編集する", + "EDIT_LIST": "リストの編集", + "EDIT_VOICEDISPOSITION": "音声処理の編集", + "EMAIL": "Eメール", + "EMAIL_DOMAIN": "電子メールドメイン", + "ENDTIME": "終了時間", + "EXPORTCSVCONTACTS_LIST": "CSVにエクスポート", + "EXPORT_ERRORS": "エクスポートエラー", + "FAILURE": "失敗", + "FAX": "ファックス", + "FEWER_FIELDS": "少ないフィールドを表示する", + "FINAL": "ホッパーファイナル", + "FINISH": "フィニッシュ", + "FIRSTNAME": "ファーストネーム", + "FULLNAME": "フルネーム", + "GENERAL": "一般", + "GLOBALCUSTOMFIELDS": "グローバルカスタムフィールド", + "GOTOCONTACTS_COMPANY": "連絡先を表示", + "GOTOCONTACTS_LIST": "連絡先を表示", + "GOTO_COMPANY": "連絡先を表示", + "GOTO_LIST": "連絡先を表示", + "HISTORY": "ホッパーの歴史", + "HOPPER": "ホッパー", + "ID": "イド", + "IMPORT_CONTACTS": "連絡先のインポート", + "JSCRIPTY": "Jscripty", + "LASTNAME": "苗字", + "LIST": "リスト", + "LISTS": "リスト", + "MERGE_CONTACT": "マージ連絡先", + "MOBILE": "モバイル", + "MOTIONDIALER": "モーションブル", + "MOTION_BULL": "モーションブル", + "NAME": "名", "NEW_COMPANY": "新会社", "NEW_CONTACT": "新しい連絡先", + "NEW_CUSTOMFIELD": "新しいカスタムフィールド", + "NEW_GLOBALCUSTOMFIELD": "新しいカスタムフィールド", + "NEW_LIST": "新しいリスト", "NEW_TAG": "新しいタグ", - "UPLOAD_CONTACTS": "連絡先のアップロード", - "FINISH": "完了", - "SUCCESS": "成功", - "FAILURE": "障害が発生した", - "ALL_CONTACTS": "すべての連絡先", - "NEW_CUSTOMFIELD": "新しいカスタムフィールドの設定", - "NO_VOICEDISPOSITION_AVAILABLE": "音声のディスポジションを使用できません", - "ADD_VOICEDISPOSITION": "音声処理を追加", - "EDIT_VOICEDISPOSITION": "音声編集処理", - "DELETE_VOICEDISPOSITION": "音声のディスポジションを削除", - "VAT": "付加価値税", - "COMPANYID": "会社 ID", - "WEBSITE": "Web サイト", - "EMAIL_DOMAIN": "電子メールドメイン", - "ADDRESS": "アドレス", - "POSTAL_CODE": "郵便番号", - "SHIPMENTADDRESS": "配送先住所", - "COPY_CONTACT": "連絡先のコピー", - "GOTOCONTACTS_LIST": "連絡先を表示", - "GOTOCONTACTS_COMPANY": "連絡先を表示", - "ADD_AGENT_TO_LIST": "リストにエージェントを追加する", - "AGENTADD_LIST": "リストにエージェントを追加する", - "NO_AVAILABLE_INFO": "使用可能な情報はありません", + "NEW_VOICEDISPOSITION": "新しい音声処理", "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": "1 つまたは複数のキーワードタグを選択し", - "HELP": { - "PHONEBAR_API": "のクリックコールの電話番号を挿入して、を有効にするには、エージェントのリモート制御が有効になっていることを点検します", - "PHONEBAR_API_MESSAGE": "Click-to-Callを有効にするには、電話番号を挿入し、エージェントがオンになっていることをリモート制御スイッチで確認します" - }, - "PAGE": "ページ", - "ROWSPERPAGE": "ページあたりの行数", + "NO_AVAILABLE_INFO": "利用可能な情報がありません", + "NO_AVAILABLE_ITEMS": "利用可能なアイテムがありません", + "NO_COMPANIES": "いいえ会社", + "NO_CUSTOMFIELD_AVAILABLE": "利用可能なカスタムフィールドはありません", + "NO_TAG": "タグなし", + "NO_VOICEDISPOSITION_AVAILABLE": "使用可能な声質処分がありません", "OF": "の", - "SOCIAL": "社会", + "PAGE": "ページ", + "PERSONAL_INFO": "個人情報", + "PHONE": "電話", + "POSTALCODE": "郵便番号", + "POSTAL_CODE": "郵便番号", + "PREFIX": "ダイヤルプレフィックス", + "PRIORITY": "優先", + "PROJECT": "プロジェクト", + "RELOAD": "リロード", + "REQUIRED": "必須", "ROW": "行", - "EXPORT_ERRORS": "エクスポートエラー", - "UPLOAD_COMPLETED": "アップロード完了", + "ROWSPERPAGE": "ページあたりの行数", + "SAVE": "セーブ", + "SCHEDULEDAT": "予定時刻", + "SEARCH_FOR_ANYONE": "サーチ", + "SELECTED": "選択された", + "SELECTED_AGENTS": "選択されたエージェント", + "SELECT_ALL": "すべて選択", + "SELECT_COMPANY": "会社を選択", + "SELECT_FILE": "ファイルを選ぶ", + "SELECT_LIST": "リストを選択", + "SELECT_NONE": "選択なし", + "SELECT_TAGS": "1つまたは複数のタグを選択する", + "SESSIONS": "セッション", + "SETTINGS": "設定", + "SHIPMENTADDRESS": "発送先住所", + "SHOW_ALL_FIELDS": "すべてのフィールドを表示する", + "SOCIAL": "ソーシャル", + "STARTTIME": "始まる時間", + "STATE": "状態", + "STATUS": "状態", "STOP": "やめる", - "SELECT_FILE": "ファイルを選ぶ" + "STREET": "通り", + "SUCCESS": "成功", + "TAG": "タグ", + "TAGS": "タグ", + "TYPE": "タイプ", + "UNIQUEID": "一意のID", + "UPLOAD": "アップロード", + "UPLOAD_COMPLETED": "アップロード完了", + "UPLOAD_CONTACTS": "連絡先をアップロード", + "UPLOAD_CSV": "CSVをアップロードする", + "USERID": "リコールエージェントID", + "VALUE": "値", + "VAT": "バット", + "VOICEDISPOSITIONS": "音声処理", + "VOICEQUEUEID": "VoiceQueue ID", + "WEBSITE": "ウェブサイト" } } \ No newline at end of file diff --git a/public/app/main/apps/contactmanager/i18n/ko.json b/public/app/main/apps/contactmanager/i18n/ko.json index 8d6a166..5705440 100644 --- a/public/app/main/apps/contactmanager/i18n/ko.json +++ b/public/app/main/apps/contactmanager/i18n/ko.json @@ -155,6 +155,11 @@ "EXPORT_ERRORS": "내보내기 오류", "UPLOAD_COMPLETED": "업로드 완료 됨", "STOP": "중지", - "SELECT_FILE": "파일 선택" + "SELECT_FILE": "파일 선택", + "IMPORT_CONTACTS": "연락처 가져 오기", + "MOTIONDIALER": "모션 불", + "PREFIX": "다이얼 접두사", + "PRIORITY": "우선 순위", + "USERID": "리콜 에이전트 ID" } } \ No newline at end of file diff --git a/public/app/main/apps/contactmanager/i18n/lv.json b/public/app/main/apps/contactmanager/i18n/lv.json index e10266d..5d5a1fc 100644 --- a/public/app/main/apps/contactmanager/i18n/lv.json +++ b/public/app/main/apps/contactmanager/i18n/lv.json @@ -155,6 +155,11 @@ "EXPORT_ERRORS": "Eksporta kļūdas", "UPLOAD_COMPLETED": "AugÅ¡upielāde ir pabeigta", "STOP": "Apstāties", - "SELECT_FILE": "Izvēlieties failu" + "SELECT_FILE": "Izvēlieties failu", + "IMPORT_CONTACTS": "Importēt kontaktus", + "MOTIONDIALER": "Motion Bull", + "PREFIX": "Ciparu prefikss", + "PRIORITY": "Prioritāte", + "USERID": "Atsaukt aÄ£enta ID" } } \ No newline at end of file diff --git a/public/app/main/apps/contactmanager/i18n/nl.json b/public/app/main/apps/contactmanager/i18n/nl.json index cbacd4a..f273394 100644 --- a/public/app/main/apps/contactmanager/i18n/nl.json +++ b/public/app/main/apps/contactmanager/i18n/nl.json @@ -155,6 +155,11 @@ "EXPORT_ERRORS": "Fouten exporteren", "UPLOAD_COMPLETED": "Upload voltooid", "STOP": "Hou op", - "SELECT_FILE": "Selecteer bestand" + "SELECT_FILE": "Selecteer bestand", + "IMPORT_CONTACTS": "Contactpersonen importeren", + "MOTIONDIALER": "Motion Bull", + "PREFIX": "Kies prefix", + "PRIORITY": "Prioriteit", + "USERID": "Recall Agent ID" } } \ No newline at end of file diff --git a/public/app/main/apps/contactmanager/i18n/no.json b/public/app/main/apps/contactmanager/i18n/no.json index fc7b978..7c391b7 100644 --- a/public/app/main/apps/contactmanager/i18n/no.json +++ b/public/app/main/apps/contactmanager/i18n/no.json @@ -155,6 +155,11 @@ "EXPORT_ERRORS": "Eksporter feil", "UPLOAD_COMPLETED": "Last opp fullført", "STOP": "Stoppe", - "SELECT_FILE": "Velg Fil" + "SELECT_FILE": "Velg Fil", + "IMPORT_CONTACTS": "Importer kontakter", + "MOTIONDIALER": "Motion Bull", + "PREFIX": "Dial Prefix", + "PRIORITY": "Prioritet", + "USERID": "Husk agent-ID" } } \ No newline at end of file diff --git a/public/app/main/apps/contactmanager/i18n/pl.json b/public/app/main/apps/contactmanager/i18n/pl.json index f2290a2..40b0f66 100644 --- a/public/app/main/apps/contactmanager/i18n/pl.json +++ b/public/app/main/apps/contactmanager/i18n/pl.json @@ -155,6 +155,11 @@ "EXPORT_ERRORS": "Eksportuj błędy", "UPLOAD_COMPLETED": "Przesyłanie zakończone", "STOP": "Zatrzymać", - "SELECT_FILE": "Wybierz plik" + "SELECT_FILE": "Wybierz plik", + "IMPORT_CONTACTS": "Importuj kontakty", + "MOTIONDIALER": "Motion Bull", + "PREFIX": "Dial Prefiks", + "PRIORITY": "Priorytet", + "USERID": "Przypomnij identyfikator agenta" } } \ No newline at end of file diff --git a/public/app/main/apps/contactmanager/i18n/pt-PT.json b/public/app/main/apps/contactmanager/i18n/pt-PT.json index f830078..ae769eb 100644 --- a/public/app/main/apps/contactmanager/i18n/pt-PT.json +++ b/public/app/main/apps/contactmanager/i18n/pt-PT.json @@ -155,6 +155,11 @@ "EXPORT_ERRORS": "Exportar erros", "UPLOAD_COMPLETED": "Upload concluído", "STOP": "Pare", - "SELECT_FILE": "Selecione o arquivo" + "SELECT_FILE": "Selecione o arquivo", + "IMPORT_CONTACTS": "Contatos importantes", + "MOTIONDIALER": "Motion Bull", + "PREFIX": "Prefixo de discagem", + "PRIORITY": "Prioridade", + "USERID": "ID do agente de recall" } } \ No newline at end of file diff --git a/public/app/main/apps/contactmanager/i18n/ru.json b/public/app/main/apps/contactmanager/i18n/ru.json index e54a1ff..3b4cef8 100644 --- a/public/app/main/apps/contactmanager/i18n/ru.json +++ b/public/app/main/apps/contactmanager/i18n/ru.json @@ -155,6 +155,11 @@ "EXPORT_ERRORS": "Ошибки экспорта", "UPLOAD_COMPLETED": "Загрузка завершена", "STOP": "Стоп", - "SELECT_FILE": "Выберите файл" + "SELECT_FILE": "Выберите файл", + "IMPORT_CONTACTS": "Импортировать контакты", + "MOTIONDIALER": "Motion Bull", + "PREFIX": "Префикс набора", + "PRIORITY": "приоритет", + "USERID": "Идентификатор агента возврата" } } \ No newline at end of file diff --git a/public/app/main/apps/contactmanager/i18n/sv.json b/public/app/main/apps/contactmanager/i18n/sv.json index 80f9222..5e86e53 100644 --- a/public/app/main/apps/contactmanager/i18n/sv.json +++ b/public/app/main/apps/contactmanager/i18n/sv.json @@ -155,6 +155,11 @@ "EXPORT_ERRORS": "Exportera fel", "UPLOAD_COMPLETED": "Uppladdningen slutförd", "STOP": "Sluta", - "SELECT_FILE": "Välj fil" + "SELECT_FILE": "Välj fil", + "IMPORT_CONTACTS": "Importera kontakter", + "MOTIONDIALER": "Motion Bull", + "PREFIX": "Dial Prefix", + "PRIORITY": "Prioritet", + "USERID": "Återkalla agent-ID" } } \ No newline at end of file diff --git a/public/app/main/apps/contactmanager/i18n/tr.json b/public/app/main/apps/contactmanager/i18n/tr.json index 0263bab..26490db 100644 --- a/public/app/main/apps/contactmanager/i18n/tr.json +++ b/public/app/main/apps/contactmanager/i18n/tr.json @@ -155,6 +155,11 @@ "EXPORT_ERRORS": "Ä°hracat Hataları", "UPLOAD_COMPLETED": "Yükleme Tamamlandı", "STOP": "durdurmak", - "SELECT_FILE": "Dosya Seç" + "SELECT_FILE": "Dosya Seç", + "IMPORT_CONTACTS": "Kişileri Al", + "MOTIONDIALER": "Hareket boğa", + "PREFIX": "Arama Öneki", + "PRIORITY": "öncelik", + "USERID": "Geri Çağırma Aracı Kimliği" } } \ No newline at end of file diff --git a/public/app/main/apps/contactmanager/i18n/zh-CN.json b/public/app/main/apps/contactmanager/i18n/zh-CN.json index 5db98da..830bc03 100644 --- a/public/app/main/apps/contactmanager/i18n/zh-CN.json +++ b/public/app/main/apps/contactmanager/i18n/zh-CN.json @@ -155,6 +155,11 @@ "EXPORT_ERRORS": "导出错误", "UPLOAD_COMPLETED": "上传已完成", "STOP": "停止", - "SELECT_FILE": "选择文件" + "SELECT_FILE": "选择文件", + "IMPORT_CONTACTS": "导入联系人", + "MOTIONDIALER": "Motion Bull", + "PREFIX": "拨号前缀", + "PRIORITY": "优先", + "USERID": "召回代理商ID" } } \ No newline at end of file diff --git a/public/app/main/apps/contactmanager/i18n/zh-TW.json b/public/app/main/apps/contactmanager/i18n/zh-TW.json index 49db6d3..9c42a4d 100644 --- a/public/app/main/apps/contactmanager/i18n/zh-TW.json +++ b/public/app/main/apps/contactmanager/i18n/zh-TW.json @@ -155,6 +155,11 @@ "EXPORT_ERRORS": "導出錯誤", "UPLOAD_COMPLETED": "上傳已完成", "STOP": "停止", - "SELECT_FILE": "選擇文件" + "SELECT_FILE": "選擇文件", + "IMPORT_CONTACTS": "導入聯繫人", + "MOTIONDIALER": "Motion Bull", + "PREFIX": "撥號前綴", + "PRIORITY": "優先", + "USERID": "召回代理商ID" } } \ No newline at end of file diff --git a/public/app/main/apps/dashboards/i18n/da.json b/public/app/main/apps/dashboards/i18n/da.json index 05a0e61..accfcad 100644 --- a/public/app/main/apps/dashboards/i18n/da.json +++ b/public/app/main/apps/dashboards/i18n/da.json @@ -262,6 +262,7 @@ "SELECT_CAMPAIGN": "Vælg en kø", "ASSIGNTO": "Tildel til", "CLICKRELOAD": "Nye opgivne opkald! Genindlæs venligst", - "NOTAVAILABLE": "Ikke tilgængelig" + "NOTAVAILABLE": "Ikke tilgængelig", + "CURRENTLY_IN_USE_BY": "I øjeblikket i brug af" } } \ No newline at end of file diff --git a/public/app/main/apps/dashboards/i18n/de.json b/public/app/main/apps/dashboards/i18n/de.json index 4f5a452..151bdd8 100644 --- a/public/app/main/apps/dashboards/i18n/de.json +++ b/public/app/main/apps/dashboards/i18n/de.json @@ -262,6 +262,7 @@ "SELECT_CAMPAIGN": "Wählen Sie eine Warteschlange", "ASSIGNTO": "Zuweisen", "CLICKRELOAD": "Neue aufgegebene Anrufe! Bitte neu laden", - "NOTAVAILABLE": "Nicht verfügbar" + "NOTAVAILABLE": "Nicht verfügbar", + "CURRENTLY_IN_USE_BY": "Derzeit im Einsatz von" } } \ No newline at end of file diff --git a/public/app/main/apps/dashboards/i18n/en.json b/public/app/main/apps/dashboards/i18n/en.json index d26f7f7..0d91e78 100644 --- a/public/app/main/apps/dashboards/i18n/en.json +++ b/public/app/main/apps/dashboards/i18n/en.json @@ -1,5 +1,7 @@ { "DASHBOARDS": { + "ME": "Me", + "CURRENTLY_IN_USE_BY": "Currently in use by", "NOTAVAILABLE": "Not available", "CLICKRELOAD": "New abandoned calls! Reload please", "ASSIGNTO": "Assign to", @@ -71,7 +73,6 @@ "SMS": "Sms", "OPENCHANNEL": "Open Channel", "FAX": "Fax", - "ME": "Me", "NOT_ASSIGNED": "Not Assigned", "UNKNOWN": "Unknown", "SELECT_USER": "Select User", diff --git a/public/app/main/apps/dashboards/i18n/es.json b/public/app/main/apps/dashboards/i18n/es.json index ce85f7a..1ac0d7a 100644 --- a/public/app/main/apps/dashboards/i18n/es.json +++ b/public/app/main/apps/dashboards/i18n/es.json @@ -34,9 +34,9 @@ "MOTION_BULL": "Motion Bull", "LIMITED": "Limited", "LIMITED_TEXT": "Las llamadas que se realizan campañas/Limited", - "DASHBOARDS": "Los paneles", + "DASHBOARDS": "Cuadro de Mando", "RECORDINGS": "Grabaciones", - "TODAY_MOTION_BULL_STATS": "Hoy el Movimiento Bull Stats", + "TODAY_MOTION_BULL_STATS": "Estadística Diaria Campañas Bull", "ORIGINATED": "Originado", "ORIGINATED_TEXT": "Llamadas originadas de cola", "UPDATE": "Actualizar", @@ -74,9 +74,9 @@ "CUSTOM_FIELDS": "Campos personalizados", "GENERAL": "General", "VOICE": "Voz", - "TODAY_IVR_CAMPAIGNS_STATS": "Hoy campañas Ivr Stats", - "TODAY_INBOUND_STATS": "Hoy Stats entrantes", - "TODAY_OUTBOUND_STATS": "Hoy Stats saliente", + "TODAY_IVR_CAMPAIGNS_STATS": "Estadística Diaria Campañas Ivr", + "TODAY_INBOUND_STATS": "Estadística Diaria de Entrantes", + "TODAY_OUTBOUND_STATS": "Estadística Diaria de Salientes", "WAITING": "Esperando", "TALKING": "Hablando", "INBOUND_ANSWERED": "Contestadas", @@ -123,7 +123,7 @@ "WELCOME_MESSAGE": "Utilice la barra lateral izquierda para navegar a través de las secciones.", "ADD": "Agregar", "CONTACTMANAGER": "Contact Manager", - "DASHBOARD": "Salpicadero", + "DASHBOARD": "Cuadro de Mando", "EDIT_CONTACT": "Editar contacto", "EMAIL": "Correo electrónico", "FULLNAME": "Fullname", @@ -153,7 +153,7 @@ "AVG_DURATION_TEXT": "Duración promedio de llamadas salientes", "OUTBOUND_ANSWER_RATE_TEXT": "La tasa de respuesta de llamadas salientes", "PAGE": "Página", - "ROWSPERPAGE": "Filas por página.", + "ROWSPERPAGE": "Filas por página", "OF": "De", "REPLY_PLACEHOLDER": "Escriba y pulse Intro para enviar un mensaje", "CONTACT_INFO": "Información de contacto", @@ -262,6 +262,7 @@ "SELECT_CAMPAIGN": "Seleccione una cola", "ASSIGNTO": "Asignar a", "CLICKRELOAD": "Nuevas llamadas abandonadas! Recargar por favor", - "NOTAVAILABLE": "No disponible" + "NOTAVAILABLE": "No disponible", + "CURRENTLY_IN_USE_BY": "Actualmente en uso por" } } \ No newline at end of file diff --git a/public/app/main/apps/dashboards/i18n/fa.json b/public/app/main/apps/dashboards/i18n/fa.json index f57a610..c605465 100644 --- a/public/app/main/apps/dashboards/i18n/fa.json +++ b/public/app/main/apps/dashboards/i18n/fa.json @@ -262,6 +262,7 @@ "SELECT_CAMPAIGN": "یک صف انتخاب کنید", "ASSIGNTO": "اختصاص به", "CLICKRELOAD": "تماس های رها شده جدید! بارگیری مجدد لطفا", - "NOTAVAILABLE": "در دسترس نیست" + "NOTAVAILABLE": "در دسترس نیست", + "CURRENTLY_IN_USE_BY": "در حال حاضر در استفاده از" } } \ No newline at end of file diff --git a/public/app/main/apps/dashboards/i18n/fi.json b/public/app/main/apps/dashboards/i18n/fi.json index 8f9b78b..6108f18 100644 --- a/public/app/main/apps/dashboards/i18n/fi.json +++ b/public/app/main/apps/dashboards/i18n/fi.json @@ -262,6 +262,7 @@ "SELECT_CAMPAIGN": "Valitse jonotus", "ASSIGNTO": "Määritä kohteeseen", "CLICKRELOAD": "Uudet hylätyt puhelut! Lataa uudelleen", - "NOTAVAILABLE": "Ei saatavilla" + "NOTAVAILABLE": "Ei saatavilla", + "CURRENTLY_IN_USE_BY": "Käytössä tällä hetkellä" } } \ No newline at end of file diff --git a/public/app/main/apps/dashboards/i18n/fr.json b/public/app/main/apps/dashboards/i18n/fr.json index 9a5f3e7..3461307 100644 --- a/public/app/main/apps/dashboards/i18n/fr.json +++ b/public/app/main/apps/dashboards/i18n/fr.json @@ -262,6 +262,7 @@ "SELECT_CAMPAIGN": "Sélectionnez une file d'attente", "ASSIGNTO": "Affecter à", "CLICKRELOAD": "Nouveaux appels abandonnés! Rechargez s'il vous plaît", - "NOTAVAILABLE": "Indisponible" + "NOTAVAILABLE": "Indisponible", + "CURRENTLY_IN_USE_BY": "Actuellement utilisé par" } } \ No newline at end of file diff --git a/public/app/main/apps/dashboards/i18n/hi.json b/public/app/main/apps/dashboards/i18n/hi.json index 6d6d02e..0820730 100644 --- a/public/app/main/apps/dashboards/i18n/hi.json +++ b/public/app/main/apps/dashboards/i18n/hi.json @@ -262,6 +262,7 @@ "SELECT_CAMPAIGN": "एक कतार का चयन करें", "ASSIGNTO": "को आवंटित", "CLICKRELOAD": "नई त्याग की कॉल! कृपया पुनः लोड करें", - "NOTAVAILABLE": "उपलब्ध नहीं है" + "NOTAVAILABLE": "उपलब्ध नहीं है", + "CURRENTLY_IN_USE_BY": "वर्तमान में उपयोग में" } } \ No newline at end of file diff --git a/public/app/main/apps/dashboards/i18n/it.json b/public/app/main/apps/dashboards/i18n/it.json index adf339d..b758ce2 100644 --- a/public/app/main/apps/dashboards/i18n/it.json +++ b/public/app/main/apps/dashboards/i18n/it.json @@ -1,5 +1,7 @@ { "DASHBOARDS": { + "ME": "Mio", + "CURRENTLY_IN_USE_BY": "Attualmente in uso da", "NOTAVAILABLE": "Non disponibile", "CLICKRELOAD": "Nuove chiamate abandonate! Ricaricare per favore", "ASSIGNTO": "Assegnare a", @@ -71,7 +73,6 @@ "SMS": "Sms", "OPENCHANNEL": "Open Channel", "FAX": "Fax", - "ME": "Mio", "NOT_ASSIGNED": "Non assegnata", "UNKNOWN": "Sconosciuto", "SELECT_USER": "Seleziona Utente", diff --git a/public/app/main/apps/dashboards/i18n/ja.json b/public/app/main/apps/dashboards/i18n/ja.json index 6bf552d..1f486e6 100644 --- a/public/app/main/apps/dashboards/i18n/ja.json +++ b/public/app/main/apps/dashboards/i18n/ja.json @@ -1,267 +1,268 @@ { "DASHBOARDS": { - "HOME": "Home", - "CHAT": "Chat", - "MAIL": "Email", - "SMS": "Sms", - "OPENCHANNEL": "Open Channel", - "FAX": "Fax", - "RATING": "定格", - "FEEDBACK": "フィードバック", - "SUBJECT": "件名", - "CUSTOMER_IP": "お客様の IP", - "REFERER": "Referer", + "ERRORS": { + "DISPOSITION_REQUIRED": "必須フィールド", + "FIRSTNAME_REQUIRED": "必須フィールド", + "PHONE_REQUIRED": "必須フィールド" + }, + "HELP": { + "ABANDONED": "すべての既存のキューを考慮した、放棄されたキュー・コールの合計数。タイムアウトと参加費のために放棄されたコールは考慮されません", + "ABANDON_RATE": "すべてのキューコールの放棄率", + "AVG_DURATION": "完了したすべてのアウトバウンドコールの平均時間", + "AVG_HOLD_TIME": "すべての既存のキューに対する平均キュー保留時間、つまりエージェントが応答するまでの平均待機時間", + "AVG_TALK_TIME": "すべての既存のキューの平均待ち時間、すなわち会話中に費やされた平均時間", + "DROPPED": "既存のすべてのキューに対する、ドロップされたキュー・コールの合計数", + "DROP_RATE": "すべてのキューコールの廃棄率", + "INBOUND_ANSWERED": "既存のすべてのキューに対する完了済みキュー呼び出しの合計数", + "INBOUND_ANSWER_RATE": "すべてのキュー呼び出しの回答率", + "ORIGINATED": "キューキャンペーンでダイヤルされたコールの総数", + "ORIGINATEDLIMITED": "IVRキャンペーンの発信/制限", + "OUTBOUND_ANSWERED": "完了したアウトバウンドコールの総数", + "OUTBOUND_ANSWER_RATE": "すべての発信コールの回答率", + "TALKING": "既存のすべてのキューに対するActive Queue Callの合計数", + "TOTAL": "アウトバウンドコールの総数", + "TOTAL_OFFERED": "キューコールの総数(放棄された)。 IVRに入力され、キューに入っていないコールは考慮されません", + "TOT_DURATION": "すべての発信コールの合計時間", + "UNMANAGED": "既存のすべてのキューの非管理キュー呼び出しの総数。これには、タイムアウト、joinempty、leavewhenempty、exitwithkey(詳細については、アスタリスクのドキュメントを参照)のために放棄されたコールが含まれます。", + "WAITING": "すべての既存のキューに対する待機キュー呼び出しの合計数" + }, + "ABANDONAT": "放棄された", + "ABANDONED": "放棄された", + "ABANDONEDQUEUECALLS": "放棄されたキューコール", + "ABANDONED_TEXT": "放棄されたキューコール", + "ABANDON_RATE": "放棄率", + "ABANDON_RATE_TEXT": "待ち行列の放棄率", + "ACCEPT": "同意する", + "ACCEPT_ELSEWHERE": "他の場所で受け入れられる", "ACCOUNT": "アカウント", - "WEBSITE": "ウェブサイト", + "ADD": "追加", + "ADD_CONTACT": "連絡先の追加", "AGENT": "エージェント", - "CREATED_AT": "作成された時に", - "CLOSED_AT": "で引けた。", - "DISPOSITION": "廃棄", - "CONTACT": "連絡先", - "INTERACTION": "相互作用", + "ALL": "すべて", + "ANSWER_MACHINE": "アンサー・マシーン", + "APRIL": "4月", + "ASSIGNTO": "に割り当てます", + "ATTENTION": "注意", + "AUGUST": "8月", + "AVG_DURATION": "平均所要時間", + "AVG_DURATION_TEXT": "発信コールの平均時間", + "AVG_HOLD_TIME": "平均ホールド時間", + "AVG_HOLD_TIME_TEXT": "待ち行列の平均保留時間", + "AVG_TALK_TIME": "平均通話時間", + "AVG_TALK_TIME_TEXT": "待ち行列の通話時間", + "BLACKLIST": "ブラックリスト", "BROWSER_NAME": "ブラウザ名", "BROWSER_VERSION": "ブラウザのバージョン", - "OS_NAME": "オペレーティング・システムの名前", - "OS_VERSION": "オペレーティング・システムのバージョン", - "DEVICE_MODEL": "デバイスのモデル", - "DEVICE_VENDOR": "デバイスベンダー", - "DEVICE_TYPE": "デバイスの種類", - "RECALLME": "リコール Me", - "DROP_RATE": "ドロップ率。", - "DROPPED": "廃棄された", - "DROPPED_TEXT": "ドロップされたキューコール", - "DETAIL": "詳細", - "MOTION_BULL": "モーションブル", - "LIMITED": "限定された", - "LIMITED_TEXT": "キャンペーンコールの発信 / 限定", - "DASHBOARDS": "ダッシュボード", - "RECORDINGS": "録音", - "TODAY_MOTION_BULL_STATS": "今日のモーションブル Stats", - "ORIGINATED": "発信された", - "ORIGINATED_TEXT": "キューコールを発信した", - "UPDATE": "更新", - "MORE": "詳細", - "MOTIONDIALER": "モーションブル", - "DISPOSE": "廃棄", - "QUEUES": "キュー", - "DIALER_CALL": "ダイヤラコール", - "ELAPSED_TIME": "経過時間", - "EDIT": "編集", - "MERGE": "マージ", - "DUPLICATE": "重複している", - "UNIQUEID": "Uniqueid", + "CALLERID": "発信者ID", + "CALL_DISPOSED": "適切に処分されたコール", + "CALL_NUMBER": "コール", + "CALL_SAVED": "正しく保存されたコール", "CAMPAIGN": "キャンペーン", - "NONE": "なし", - "NAME": "名", - "ANSWER_MACHINE": "答えマシン", - "INTERESTED": "興味を持って", - "NOT_INTERESTED": "興味を持っていない", - "PERSONAL_INFO": "「個人情報」", - "SOLD": "販売されて", - "SPECIAL": "特別な", - "BLACKLIST": "ブラックリスト", - "RESCHEDULE": "再スケジュール", - "FIRSTNAME": "Firstname", - "LASTNAME": "Lastname", - "MOBILE": "モバイル", - "DATE_OF_BIRTH": "の誕生日", + "CANNED_ANSWER_NOT_FOUND": "缶詰の回答は見つかりませんでした", + "CANNED_ANSWER_SEARCH": "缶詰回答を検索するためのテキストを入力してください", + "CHANNEL_FROM": "から", + "CHANNEL_QUEUE": "キュー", + "CHANNEL_WAITING_TEXT": "待ち行列の相互作用", + "CHAT": "チャット", + "CITY": "シティ", + "CLEAR": "クリア", + "CLICKRELOAD": "新しい放棄されたコール!リロードしてください", + "CLOSED": "閉じる", + "CLOSED_AT": "休館日", + "CLOSE_AND_DISPOSE": "閉じて処分する", + "CLOSE_WITHOUT_DISPOSE": "処分なしで閉じる", "COMPANY": "会社", - "TAG": "タグ", + "CONTACT": "接触", + "CONTACTMANAGER": "連絡先マネージャー", + "CONTACTS": "連絡先", + "CONTACT_INFO": "連絡先情報", "COUNTRY": "国", - "CITY": "市", - "STREET": "ストリート", - "POSTALCODE": "郵便番号", + "CREATED_AT": "作成者:", + "CURRENTLY_IN_USE_BY": "現在使用中", + "CUSTOMER_IP": "顧客IP", "CUSTOM_FIELDS": "カスタムフィールド", - "GENERAL": "一般的な", - "VOICE": "音声", - "TODAY_IVR_CAMPAIGNS_STATS": "今日 IVR キャンペーン Stats", - "TODAY_INBOUND_STATS": "今日のインバウンド Stats", - "TODAY_OUTBOUND_STATS": "今日は、アウトバウンドの統計情報", - "WAITING": "待機中", - "TALKING": "話を", - "INBOUND_ANSWERED": "応答", - "OUTBOUND_ANSWERED": "応答", - "ABANDONED": "放棄された", - "TOTAL_OFFERED": "提供された", - "AVG_HOLD_TIME": "平均保留時間", - "AVG_TALK_TIME": "平均通話時間", - "INBOUND_ANSWER_RATE": "回答率", - "OUTBOUND_ANSWER_RATE": "回答率", - "ABANDON_RATE": "途中放棄率", - "UNMANAGED": "管理対象外", - "TOTAL": "合計", - "TOT_DURATION": "合計時間", - "AVG_DURATION": "平均時間", - "HELP": { - "ORIGINATEDLIMITED": "キャンペーンコールの発信 / 限定", - "DROPPED": "は、ドロップされたキューコールの合計数、作成されたすべてのキューを検討しています。", - "DROP_RATE": "すべてのキューコールのドロップ率。", - "WAITING": "待機しているキューコールの合計数、作成されたすべてのキューを検討している", - "TALKING": "アクティブなキュー内のコールの合計数、作成されたすべてのキューを検討している", - "INBOUND_ANSWERED": "完成したキューコールの合計数は、すべてのキューを検討している", - "OUTBOUND_ANSWERED": "完了したアウトバウンドコールの合計数", - "ABANDONED": "放棄されたキューコールの合計数、作成されたすべてのキューを検討しています。 これはタイムアウトと joinempty に放棄されたコールは、この値でカウントされないことに注意してください", - "TOTAL_OFFERED": "合計のキューコール ( 放棄されたが完了しました)の番号を指定します。 キュー内での入力を必要とせずに IVR に終了したコールは、この値はカウントされないことに注意してください", - "AVG_HOLD_TIME": "キューの平均の保留時間は、コールがエージェントの応答のすべてのキューを考慮し待機していた時間、平均時間を表します。", - "AVG_TALK_TIME": "キューの平均の通話時間、会話で費やした時間、コールの平均時間を表します。は、すべてのキューを検討している", - "INBOUND_ANSWER_RATE": "すべてのキューコールの応答率", - "OUTBOUND_ANSWER_RATE": "は、すべてのアウトバウンドコールの応答率", - "ABANDON_RATE": "は、すべてのキューのコールの途中放棄率", - "UNMANAGED": "管理対象外のキューの合計コール数、作成されたすべてのキューを検討しています。 これでタイムアウト、 joinempty leavewhenempty および exitwithkey に放棄された呼が含まれます", - "TOTAL": "のアウトバウンドコールの合計数", - "TOT_DURATION": "は、すべてのアウトバウンドコールの合計所要時間", - "AVG_DURATION": "すべての完了したアウトバウンド呼の平均時間", - "ORIGINATED": "キューキャンペーンでダイヤルされたコールの合計数。" - }, - "ERRORS": { - "FIRSTNAME_REQUIRED": "最初の名前が必要です", - "PHONE_REQUIRED": "の電話番号が必要です", - "DISPOSITION_REQUIRED": "必須フィールド" - }, - "NO_AVAILABLE_INFO": "使用可能な情報はありません", - "WELCOME_TO_MOTION": "ようこそ Motion へ", - "WELCOME_MESSAGE": "のセクションを移動左サイドバーを使用します。", - "ADD": "を追加", - "CONTACTMANAGER": "連絡先マネージャ", "DASHBOARD": "ダッシュボード", - "EDIT_CONTACT": "連絡先の編集", - "EMAIL": "電子メール", - "FULLNAME": "Fullname の値", - "LIST": "リスト", - "NEW_CONTACT": "新しい連絡先", - "PHONE": "電話", - "SAVE": "保存", - "INBOUND_WAITING_CALLS": "インバウンドコールの待機中", - "CONTACTS": "連絡先", - "MYCONTACTS": "私の連絡先", - "ADD_CONTACT": "連絡先を追加します。", - "RELOAD": "再ロード", - "WAITING_TEXT": "キュー待機中のコール", - "TALKING_TEXT": "アクティブキューコール", - "INBOUND_ANSWERED_TEXT": "応答されたキューコール", - "ABANDONED_TEXT": "破棄されたキューコール", - "DROP_RATE_TEXT": "キューコールのドロップ率", - "TOTAL_OFFERED_TEXT": "合計キューコール", - "AVG_HOLD_TIME_TEXT": "キューコールの平均保留時間", - "AVG_TALK_TIME_TEXT": "キューコール通話時間", - "INBOUND_ANSWER_RATE_TEXT": "キューコールに応答率", - "ABANDON_RATE_TEXT": "キュー内のコールの途中放棄率", - "UNMANAGED_TEXT": "管理対象外のキューコール", - "TOTAL_TEXT": "発信コールの総数", - "OUTBOUND_ANSWERED_TEXT": "アウトバウンドに応答されたコール", - "TOT_DURATION_TEXT": "アウトバウンドコールの合計所要時間", - "AVG_DURATION_TEXT": "アウトバウンドコールの平均時間", - "OUTBOUND_ANSWER_RATE_TEXT": "アウトバウンドコールに応答率", - "PAGE": "ページ", - "ROWSPERPAGE": "ページあたりの行数", - "OF": "の", - "REPLY_PLACEHOLDER": "メッセージを送信するには、タイプとヒットを入力します。", - "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": "Web サイトを選択します。", - "ALL": "すべての", - "INTERACTIONS": "相互作用", - "STARTEDAT": "を開始しました", - "STATUS": "ステータス", - "OPEN": "オープン", - "SHOW": "地図を表示", - "ME": "私", - "NOT_ASSIGNED": "割り当てられていません。", - "UNKNOWN": "不明な", - "SELECT_USER": "ユーザーを選択します。", - "LAST_MESSAGE": "最後のメッセージ", - "USER": "ユーザー", - "TAGS": "タグ", - "SELECT_TAG": "タグを選択します。", - "TYPE": "タイプ", - "SOURCE": "ソース", - "DESTINATION": "宛先", - "CALLERID": "発信者 ID", - "END_AT": "最後に", + "DASHBOARDS": "ダッシュボード", + "DATE_OF_BIRTH": "誕生日", + "DECEMBER": "12月", + "DELETE": "削除", + "DESTINATION": "先", + "DETAIL": "詳細", + "DEVICE_MODEL": "デバイスモデル", + "DEVICE_TYPE": "デバイスタイプ", + "DEVICE_VENDOR": "デバイスベンダー", + "DIALER_CALL": "ダイヤラコール", + "DISPOSE": "廃棄する", + "DISPOSITION": "配置", + "DISPOSITIONS": "処分", + "DROPPED": "落ちた", + "DROPPED_TEXT": "ドロップされたキューの呼び出し", + "DROP_RATE": "ドロップ率", + "DROP_RATE_TEXT": "キューコールドロップ率", + "DUPLICATE": "重複", "DURATION": "期間", - "SHOW_DETAILS": "詳細を表示する", - "HIDE_DETAILS": "詳細の表示 / 非表示を切り替え", + "EDIT": "編集", + "EDIT_CONTACT": "連絡先を編集", + "ELAPSED_TIME": "経過時間", + "EMAIL": "Eメール", + "END_AT": "終わり", "EXTERNAL_URL": "外部リンク", - "SET_AS": "セットとして", - "PENDING": "保留中の", - "CANNED_ANSWER_NOT_FOUND": "缶詰にされた答えが見つかりませんでした。", - "CANNED_ANSWER_SEARCH": "定型の回答を検索するには、テキストを入力します。", - "NO_MAIL_ACCOUNTS_AVAILABLE": "利用可能なメールアカウントはありません", - "NO_FAX_ACCOUNTS_AVAILABLE": "利用可能なファックスアカウントがありません", - "NO_SMS_ACCOUNTS_AVAILABLE": "使用可能な SMS アカウントがありません", + "FAX": "ファックス", + "FEBRUARY": "2月", + "FEEDBACK": "フィードバック", + "FILTER": "フィルタ", "FILTER_VOICE_QUEUES": "音声キューをフィルタリングする", - "LOADING_INTERACTION": "インタラクションを読み込んでいます...", + "FIRSTNAME": "ファーストネーム", + "FREE": "無料", + "FRI": "金", + "FULLNAME": "フルネーム", + "GENERAL": "一般", + "HIDE_DETAILS": "詳細を隠す", + "HOME": "ホーム", + "INBOUND_ANSWERED": "回答", + "INBOUND_ANSWERED_TEXT": "応答待ち行列の呼び出し", + "INBOUND_ANSWER_RATE": "回答率", + "INBOUND_ANSWER_RATE_TEXT": "キューのコール応答率", + "INBOUND_WAITING_CALLS": "着信待ちの呼び出し", + "INFO": "情報", + "INTERACTION": "インタラクション", + "INTERACTIONS": "インタラクション", + "INTERESTED": "興味がある", "JANUARY": "1月", - "FEBRUARY": "2月", - "MARCH": "行進", - "APRIL": "4月", - "MAY": "5月", - "JUNE": "六月", "JULY": "7月", - "AUGUST": "8月", - "SEPTEMBER": "9月", - "OCTOBER": "10月", - "NOVEMBER": "11月", - "DECEMBER": "12月", - "MON": "月", - "TUE": "火", - "WED": "結婚した", - "THU": "木", - "FRI": "金", - "SAT": "土", - "SUN": "太陽", - "DELETE": "削除", + "JUNE": "6月", + "LASTASSIGNEDTO": "最後に割り当てられた", + "LASTNAME": "苗字", "LAST_3_DAYS": "最後の3日間", - "LAST_YEAR": "昨年", - "THIS_YEAR": "今年", + "LAST_MESSAGE": "最後のメッセージ", "LAST_MONTH": "先月", - "THIS_MONTH": "今月", "LAST_WEEK": "先週", - "THIS_WEEK": "今週", - "YESTERDAY": "昨日", - "TODAY": "今日", - "SELECT_DATE": "開始日を選択", - "SELECT_DATE_RANGE": "期間を選択", - "CLEAR": "クリア", - "CALL_NUMBER": "コール", - "TRANSFER_NUMBER": "転送", - "CALL_SAVED": "正しく保存されたコール", - "CALL_DISPOSED": "適切に処分されたコール", - "CHANNEL_WAITING_TEXT": "待ち行列の相互作用", - "CHANNEL_QUEUE": "キュー", - "CHANNEL_FROM": "から", + "LAST_YEAR": "昨年", + "LIMITED": "限定", + "LIMITED_TEXT": "IVRキャンペーンの発信/制限", + "LIST": "リスト", + "LOADING_INTERACTION": "インタラクションを読み込んでいます...", + "MAIL": "Eメール", + "MARCH": "行進", "MARK_AS_UNREAD": "未読としてマーク", - "SELECT_AGENT": "エージェントを選択", - "READ": "読む", - "SELECT_READ_UNREAD": "読み取り/未読を選択", - "SELECT_SUBSTATUS": "サブ状態を選択", - "UNREAD": "未読", - "ABANDONAT": "放棄された", - "ABANDONEDQUEUECALLS": "放棄されたコール", - "FREE": "無料", - "LASTASSIGNEDTO": "最後に割り当てられた", + "MAY": "5月", + "ME": "自分", + "MERGE": "マージ", + "MOBILE": "モバイル", + "MON": "月", + "MORE": "もっと", + "MOTIONDIALER": "モーションブル", + "MOTION_BULL": "モーションブル", + "MYCONTACTS": "私の連絡先", + "NAME": "名", + "NEW_CONTACT": "新しい連絡先", + "NONE": "なし", + "NOTAVAILABLE": "利用不可", + "NOTE": "注意", + "NOT_ASSIGNED": "割り当てられていない", + "NOT_INTERESTED": "興味がない", + "NOVEMBER": "11月", + "NO_AVAILABLE_INFO": "利用可能な情報がありません", + "NO_FAX_ACCOUNTS_AVAILABLE": "利用可能なFAXアカウントはありません", + "NO_JSCRIPTY_PROJECTS_AVAILABLE": "利用可能なJscriptyプロジェクトはありません", + "NO_MAIL_ACCOUNTS_AVAILABLE": "利用可能なメールアカウントはありません", + "NO_SMS_ACCOUNTS_AVAILABLE": "SMSアカウントは使用できません", + "OCTOBER": "10月", + "OF": "の", + "OPEN": "開いた", + "OPENCHANNEL": "オープンチャンネル", + "OPENED": "開いた", + "ORIGINATED": "起源", + "ORIGINATED_TEXT": "発生したキューコール", + "OS_NAME": "オペレーティングシステム名", + "OS_VERSION": "オペレーティングシステムのバージョン", + "OUTBOUND_ANSWERED": "回答", + "OUTBOUND_ANSWERED_TEXT": "アウトバウンド応答コール", + "OUTBOUND_ANSWER_RATE": "回答率", + "OUTBOUND_ANSWER_RATE_TEXT": "アウトバウンドコールの回答率", + "PAGE": "ページ", + "PENDING": "保留中", + "PERSONAL_INFO": "個人情報", + "PHONE": "電話", + "POSTALCODE": "郵便番号", "QUEUE": "キュー", "QUEUECALLEREXITAT": "落ちた", "QUEUECALLEREXITREASON": "理由", + "QUEUES": "キュー", + "RATING": "評価", + "READ": "読む", + "RECALLME": "自分にリコール", + "RECORDINGS": "録音", + "REFERER": "リファラー", + "REJECT": "拒否", + "RELOAD": "リロード", + "REPLY_PLACEHOLDER": "入力してEnterキーを押してメッセージを送信する", + "RESCHEDULE": "再スケジュール", "RESERVED": "予約済み", + "ROWSPERPAGE": "ページあたりの行数", + "SAT": "土", + "SAVE": "セーブ", + "SELECT_ACCOUNT": "アカウントを選択", + "SELECT_AGENT": "エージェントを選択", "SELECT_CAMPAIGN": "キューを選択", - "ASSIGNTO": "に割り当てます", - "CLICKRELOAD": "新しい放棄されたコール!リロードしてください", - "NOTAVAILABLE": "利用不可" + "SELECT_DATE": "開始日を選択", + "SELECT_DATE_RANGE": "期間を選択", + "SELECT_READ_UNREAD": "読み取り/未読を選択", + "SELECT_STATUS": "ステータスを選択", + "SELECT_SUBSTATUS": "サブ状態を選択", + "SELECT_TAG": "タグを選択", + "SELECT_USER": "ユーザーを選択", + "SELECT_WEBSITE": "ウェブサイトを選択", + "SEPTEMBER": "9月", + "SET_AS": "として設定され", + "SHOW": "ショー", + "SHOW_DETAILS": "詳細を表示", + "SMS": "SMS", + "SOCIAL": "ソーシャル", + "SOLD": "売れた", + "SOURCE": "ソース", + "SPECIAL": "特別", + "STARTEDAT": "開始日", + "STATUS": "状態", + "STREET": "通り", + "SUBJECT": "件名", + "SUN": "日", + "TAG": "タグ", + "TAGS": "タグ", + "TALKING": "話す", + "TALKING_TEXT": "アクティブなキューの呼び出し", + "THIS_MONTH": "今月", + "THIS_WEEK": "今週", + "THIS_YEAR": "今年", + "THU": "木", + "TODAY": "今日", + "TODAY_INBOUND_STATS": "毎日の受信キュー統計", + "TODAY_IVR_CAMPAIGNS_STATS": "毎日のIvrキャンペーンの統計", + "TODAY_MOTION_BULL_STATS": "毎日の待ち行列キャンペーンの統計", + "TODAY_OUTBOUND_STATS": "毎日のアウトバウンド統計", + "TOTAL": "合計", + "TOTAL_OFFERED": "合計提供額", + "TOTAL_OFFERED_TEXT": "トータルキューコール", + "TOTAL_TEXT": "トータルアウトバウンドコール", + "TOT_DURATION": "合計期間", + "TOT_DURATION_TEXT": "アウトバウンドコールの合計時間", + "TRANSFER_NUMBER": "転送", + "TUE": "火", + "TYPE": "タイプ", + "UNIQUEID": "一意のID", + "UNKNOWN": "未知の", + "UNMANAGED": "管理されていない", + "UNMANAGED_TEXT": "管理されていないキュー呼び出し", + "UNREAD": "未読", + "UPDATE": "更新", + "USER": "ユーザー", + "VOICE": "音声", + "WAITING": "待っている", + "WAITING_TEXT": "待ち行列の呼び出し", + "WEBSITE": "ウェブサイト", + "WED": "æ°´", + "WELCOME_MESSAGE": "利用可能なセクションをナビゲートするには、左側のサイドバーを使用します", + "WELCOME_TO_MOTION": "モーションへようこそ", + "YESTERDAY": "昨日" } } \ No newline at end of file diff --git a/public/app/main/apps/dashboards/i18n/ko.json b/public/app/main/apps/dashboards/i18n/ko.json index 8072498..4b2a416 100644 --- a/public/app/main/apps/dashboards/i18n/ko.json +++ b/public/app/main/apps/dashboards/i18n/ko.json @@ -262,6 +262,7 @@ "SELECT_CAMPAIGN": "대기열 선택", "ASSIGNTO": "에 할당", "CLICKRELOAD": "새로운 버려진 전화! 다시로드하십시오.", - "NOTAVAILABLE": "사용 불가" + "NOTAVAILABLE": "사용 불가", + "CURRENTLY_IN_USE_BY": "현재 사용중인" } } \ No newline at end of file diff --git a/public/app/main/apps/dashboards/i18n/lv.json b/public/app/main/apps/dashboards/i18n/lv.json index 4c09ca0..15afe42 100644 --- a/public/app/main/apps/dashboards/i18n/lv.json +++ b/public/app/main/apps/dashboards/i18n/lv.json @@ -262,6 +262,7 @@ "SELECT_CAMPAIGN": "Izvēlieties rindu", "ASSIGNTO": "PieÅ¡Ä·irt", "CLICKRELOAD": "Jauni pameti zvani! Pārlādēt, lÅ«dzu", - "NOTAVAILABLE": "Nav pieejams" + "NOTAVAILABLE": "Nav pieejams", + "CURRENTLY_IN_USE_BY": "Å obrÄ«d to izmanto" } } \ No newline at end of file diff --git a/public/app/main/apps/dashboards/i18n/nl.json b/public/app/main/apps/dashboards/i18n/nl.json index cffa02c..e687c90 100644 --- a/public/app/main/apps/dashboards/i18n/nl.json +++ b/public/app/main/apps/dashboards/i18n/nl.json @@ -262,6 +262,7 @@ "SELECT_CAMPAIGN": "Selecteer een wachtrij", "ASSIGNTO": "Toewijzen", "CLICKRELOAD": "Nieuwe achtergelaten oproepen! Herladen alstublieft", - "NOTAVAILABLE": "Niet beschikbaar" + "NOTAVAILABLE": "Niet beschikbaar", + "CURRENTLY_IN_USE_BY": "Momenteel in gebruik door" } } \ No newline at end of file diff --git a/public/app/main/apps/dashboards/i18n/no.json b/public/app/main/apps/dashboards/i18n/no.json index 4462a1d..713381b 100644 --- a/public/app/main/apps/dashboards/i18n/no.json +++ b/public/app/main/apps/dashboards/i18n/no.json @@ -262,6 +262,7 @@ "SELECT_CAMPAIGN": "Velg en kø", "ASSIGNTO": "Tildel til", "CLICKRELOAD": "Nye forlatte samtaler! Legg igjen pÃ¥ nytt", - "NOTAVAILABLE": "Ikke tilgjengelig" + "NOTAVAILABLE": "Ikke tilgjengelig", + "CURRENTLY_IN_USE_BY": "For tiden i bruk av" } } \ No newline at end of file diff --git a/public/app/main/apps/dashboards/i18n/pl.json b/public/app/main/apps/dashboards/i18n/pl.json index 8bee6e3..8a72ff3 100644 --- a/public/app/main/apps/dashboards/i18n/pl.json +++ b/public/app/main/apps/dashboards/i18n/pl.json @@ -262,6 +262,7 @@ "SELECT_CAMPAIGN": "Wybierz kolejkę", "ASSIGNTO": "Przypisać do", "CLICKRELOAD": "Nowe porzucone połączenia! Załaduj ponownie", - "NOTAVAILABLE": "Niedostępne" + "NOTAVAILABLE": "Niedostępne", + "CURRENTLY_IN_USE_BY": "Obecnie w użyciu przez" } } \ No newline at end of file diff --git a/public/app/main/apps/dashboards/i18n/pt-PT.json b/public/app/main/apps/dashboards/i18n/pt-PT.json index 522c517..943d15d 100644 --- a/public/app/main/apps/dashboards/i18n/pt-PT.json +++ b/public/app/main/apps/dashboards/i18n/pt-PT.json @@ -262,6 +262,7 @@ "SELECT_CAMPAIGN": "Selecione uma fila", "ASSIGNTO": "Atribuir a", "CLICKRELOAD": "Novas chamadas abandonadas! Recarregar por favor", - "NOTAVAILABLE": "Não disponível" + "NOTAVAILABLE": "Não disponível", + "CURRENTLY_IN_USE_BY": "Atualmente em uso por" } } \ No newline at end of file diff --git a/public/app/main/apps/dashboards/i18n/ru.json b/public/app/main/apps/dashboards/i18n/ru.json index 116e7ae..53ff385 100644 --- a/public/app/main/apps/dashboards/i18n/ru.json +++ b/public/app/main/apps/dashboards/i18n/ru.json @@ -262,6 +262,7 @@ "SELECT_CAMPAIGN": "Выберите очередь", "ASSIGNTO": "Назначить в", "CLICKRELOAD": "Новые заброшенные звонки! Перезагрузить пожалуйста", - "NOTAVAILABLE": "Недоступен" + "NOTAVAILABLE": "Недоступен", + "CURRENTLY_IN_USE_BY": "В настоящее время используется" } } \ No newline at end of file diff --git a/public/app/main/apps/dashboards/i18n/sv.json b/public/app/main/apps/dashboards/i18n/sv.json index c82950a..9ba81e6 100644 --- a/public/app/main/apps/dashboards/i18n/sv.json +++ b/public/app/main/apps/dashboards/i18n/sv.json @@ -262,6 +262,7 @@ "SELECT_CAMPAIGN": "Välj en kö", "ASSIGNTO": "Tilldela till", "CLICKRELOAD": "Nya övergivna samtal! Uppdatera tack", - "NOTAVAILABLE": "Inte tillgänglig" + "NOTAVAILABLE": "Inte tillgänglig", + "CURRENTLY_IN_USE_BY": "För närvarande används av" } } \ No newline at end of file diff --git a/public/app/main/apps/dashboards/i18n/tr.json b/public/app/main/apps/dashboards/i18n/tr.json index 97fe16a..f6f4b20 100644 --- a/public/app/main/apps/dashboards/i18n/tr.json +++ b/public/app/main/apps/dashboards/i18n/tr.json @@ -262,6 +262,7 @@ "SELECT_CAMPAIGN": "Bir Sıra Seç", "ASSIGNTO": "Atamak", "CLICKRELOAD": "Yeni terk edilmiş aramalar! Yeniden lütfen", - "NOTAVAILABLE": "Müsait değil" + "NOTAVAILABLE": "Müsait değil", + "CURRENTLY_IN_USE_BY": "Şu anda tarafından kullanılıyor" } } \ No newline at end of file diff --git a/public/app/main/apps/dashboards/i18n/zh-CN.json b/public/app/main/apps/dashboards/i18n/zh-CN.json index cbf8dd7..867f7b1 100644 --- a/public/app/main/apps/dashboards/i18n/zh-CN.json +++ b/public/app/main/apps/dashboards/i18n/zh-CN.json @@ -262,6 +262,7 @@ "SELECT_CAMPAIGN": "选择一个队列", "ASSIGNTO": "分配给", "CLICKRELOAD": "新的被遗弃的电话请重新加载", - "NOTAVAILABLE": "无法使用" + "NOTAVAILABLE": "无法使用", + "CURRENTLY_IN_USE_BY": "目前正在使用中" } } \ No newline at end of file diff --git a/public/app/main/apps/dashboards/i18n/zh-TW.json b/public/app/main/apps/dashboards/i18n/zh-TW.json index 94abf31..d056fdc 100644 --- a/public/app/main/apps/dashboards/i18n/zh-TW.json +++ b/public/app/main/apps/dashboards/i18n/zh-TW.json @@ -262,6 +262,7 @@ "SELECT_CAMPAIGN": "選擇一個隊列", "ASSIGNTO": "分配給", "CLICKRELOAD": "新的被遺棄的電話請重新加載", - "NOTAVAILABLE": "無法使用" + "NOTAVAILABLE": "無法使用", + "CURRENTLY_IN_USE_BY": "目前正在使用中" } } \ No newline at end of file diff --git a/public/app/main/apps/fax/i18n/en.json b/public/app/main/apps/fax/i18n/en.json index 436ba46..7246c2e 100644 --- a/public/app/main/apps/fax/i18n/en.json +++ b/public/app/main/apps/fax/i18n/en.json @@ -82,7 +82,7 @@ "AGENTADD_FAXQUEUE": "Add Agent to Fax Queue", "NAME": "Name", "FAXQUEUES": "Fax Queues", - "SEARCH_FOR_ANYONE": "Search for anyone", + "SEARCH_FOR_ANYONE": "Search", "ERRORS": { "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to", "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to", diff --git a/public/app/main/apps/fax/i18n/es.json b/public/app/main/apps/fax/i18n/es.json index 3c73807..2391e03 100644 --- a/public/app/main/apps/fax/i18n/es.json +++ b/public/app/main/apps/fax/i18n/es.json @@ -1,227 +1,227 @@ { "FAX": { - "TEAMADD_FAXQUEUE": "Agregar equipo a cola de fax", - "AGENTADD_FAXQUEUE": "Agregar agente de cola de fax", - "NAME": "Nombre", - "FAXQUEUES": "Colas de Fax", - "SEARCH_FOR_ANYONE": "Buscar a alguien", + "HELP": { + "ECM": "Modo de conexión de error (ECM)", + "FAXDETECT": "Habilitar detección de fax con tiempo de espera opcional en segundos (yes / t38 / cng / [timeout] / no)", + "GATEWAY": "T.38 Fax Gateway, con tiempo de espera de actividad de fax opcional en segundos (sí / no / [tiempo de espera])", + "HEADERINFO": "Información del encabezado del fax saliente", + "LOCALSTATIONID": "Identificador de estación local (número de teléfono)", + "MAXRATE": "Velocidad de transferencia máxima establecida antes de la transmisión", + "MINRATE": "Velocidad de transferencia mínima establecida antes de la transmisión", + "MODEM": "Tipo de módem (v17 / v27 / v29)", + "NAME": "Solo se admiten números, letras y caracteres específicos (._)", + "T38TIMEOUT": "El tiempo de espera utilizado para la negociación T.38 (valor mínimo = 1000)" + }, "ERRORS": { - "NAME_REQUIRED": "El nombre es obligatorio", - "AGENT_TIMEOUT_REQUIRED": "El agente se requiere tiempo de espera", - "MOTIONADDRESS_REQUIRED": "Se requiere una dirección de movimiento", - "MOTIONADDRESS_MUST_VALID_URL": "La dirección de movimiento deben escribirse en un formato válido", - "LOCALSTATIONID_REQUIRED": "El identificador de la estación local es requerido", - "MODEM_REQUIRED": "El módem que se requiere.", - "GATEWAY_REQUIRED": "La pasarela es necesaria", - "FAXDETECT_REQUIRED": "Es necesario detectar el Fax", - "T38TIMEOUT_REQUIRED": "T.38 se requiere tiempo de espera", - "TIMEOUT_REQUIRED": "El tiempo de espera es necesario", - "HEADERINFO_REQUIRED": "La información de encabezado son obligatorios", - "TRUNK_REQUIRED": "El tronco es obligatorio", - "LIST_REQUIRED": "La lista es obligatorio", - "KEY_MAX_LENGTH": "Clave debe tener una longitud máxima igual a {{max}}", - "KEY_REQUIRED": "La clave es necesaria", "AGENT_REQUIRED": "Campo obligatorio", - "QUEUE_REQUIRED": "Campo obligatorio", - "TRUEPRIORITY_REQUIRED": "Campo obligatorio", - "FALSEPRIORITY_REQUIRED": "Campo obligatorio", + "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "AGENT_TIMEOUT_REQUIRED": "Campo obligatorio", + "COMMAND_REQUIRED": "Campo obligatorio", "CONDITION_REQUIRED": "Campo obligatorio", - "PRIORITY_REQUIRED": "Campo obligatorio", "DISPOSITION_REQUIRED": "Campo obligatorio", - "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual a", - "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual a", - "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual a", - "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual a", + "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "FALSEPRIORITY_REQUIRED": "Campo obligatorio", + "FAXDETECT_REQUIRED": "Campo obligatorio", + "GATEWAY_REQUIRED": "Campo obligatorio", + "HEADERINFO_REQUIRED": "Campo obligatorio", + "KEY_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", + "KEY_REQUIRED": "Campo obligatorio", + "LIST_REQUIRED": "Campo obligatorio", + "LOCALSTATIONID_REQUIRED": "Campo obligatorio", + "MODEM_REQUIRED": "Campo obligatorio", + "MOTIONADDRESS_MUST_VALID_URL": "Formato erróneo", + "MOTIONADDRESS_REQUIRED": "Campo obligatorio", + "NAME_MUST_VALID_PATTERN": "Formato erróneo", + "NAME_REQUIRED": "Campo obligatorio", + "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "PRIORITY_REQUIRED": "Campo obligatorio", + "QUEUE_REQUIRED": "Campo obligatorio", + "T38TIMEOUT_REQUIRED": "Campo obligatorio", "TEXT_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", "TEXT_REQUIRED": "Campo obligatorio", - "VALUE_REQUIRED": "Campo obligatorio", - "COMMAND_REQUIRED": "Campo obligatorio", - "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", - "NAME_MUST_VALID_PATTERN": "Formato erróneo", - "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que" + "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que", + "TIMEOUT_REQUIRED": "Campo obligatorio", + "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "TRUEPRIORITY_REQUIRED": "Campo obligatorio", + "TRUNK_REQUIRED": "Campo obligatorio", + "VALUE_REQUIRED": "Campo obligatorio" }, - "STRATEGY": "Estrategia", - "AGENT_TIMEOUT": "Tiempo de espera del agente", - "DESCRIPTION": "Descripción", - "ADD_FAXQUEUE": "Añadir cola de fax", - "EDIT_FAXQUEUE": "Editar Cola de fax", - "DELETE_FAXQUEUE": "Borrar cola de fax", - "CREATED_AT": "Creado en", - "SAVE": "Guardar", - "SETTINGS": "Configuración", - "GENERAL": "General", - "FAXACCOUNTS": "Las cuentas de fax", - "MOTIONADDRESS": "Dirección de movimiento", - "ADD_FAXACCOUNT": "Agregar la cuenta de Fax", - "EDIT_FAXACCOUNT": "Editar la cuenta de Fax", - "DELETE_FAXACCOUNT": "Eliminar cuenta de Fax", - "DISPOSITIONS": "Disposiciones", - "WEBHOOKS": "WebHooks", - "ACTIONS": "Acciones", - "LIST": "Lista", - "FIDELITY": "Fidelidad", "ACCEPT": "Aceptar", "ACCEPTMETHOD": "Aceptar el método", "ACCEPTURL": "Aceptar URL", - "REJECT": "Rechazar", - "REJECTMETHOD": "Método de rechazo", - "REJECTURL": "Rechazar URL", - "CLOSE": "Cerrar", - "CLOSEMETHOD": "Método Close", + "ACCOUNT": "Cuenta", + "ACCOUNTS": "Cuentas", + "ACTIONS": "Comportamiento", + "ADD_FAXACCOUNT": "Añadir cuenta de fax", + "ADD_FAXCANNEDANSWER": "Agregar respuesta enlatada", + "ADD_FAXDISPOSITION": "Agregar disposición de fax", + "ADD_FAXQUEUE": "Agregar cola de fax", + "ADVANCED": "Avanzado", + "AGENT": "Agente", + "AGENTADD_FAXQUEUE": "Agregar agente a cola de fax", + "AGENTADD_QUEUE": "Añadir cola de agente a fax", + "AGENTS": "Agentes", + "AGENTSADD_QUEUE": "Agregar agentes a la cola de fax", + "AGENT_TIMEOUT": "Tiempo de espera del agente", + "ALL": "Todas", + "ALL_AGENTS": "Todos los agentes", + "ALL_TEAMS": "Todos los equipos", + "BACK": "Espalda", + "BUSY": "Ocupado", + "CANNEDANSWERS": "Anwsers conservados", + "CAPACITY": "Capacidad", + "CHAT": "Chat", + "CLOSE": "Cerca", + "CLOSED": "Cerrado", + "CLOSEDAT": "Cerrado en", + "CLOSEMETHOD": "Método cercano", "CLOSEURL": "Cerrar URL", - "TRUNK": "Tronco", - "LOCALSTATIONID": "Identificador de la estación local.", - "HELP": { - "LOCALSTATIONID": "Identificador de la estación local (número de teléfono).", - "HEADERINFO": "La información de cabecera de fax saliente.", - "MODEM": "El tipo de módem (V17/V27/V29).", - "GATEWAY": "Gateway de fax T.38, con actividad de fax opcional timeout en segundos (sí/no/[timeout]).", - "FAXDETECT": "Habilitar la detección de fax opcional con el tiempo de espera en segundos (sí/t38/CNG/[timeout]/no).", - "T38TIMEOUT": "El tiempo utilizado para la negociación T.38. El valor mínimo es de 1000.", - "ECM": "Modo de conexión de errores (ECM).", - "MINRATE": "Velocidad de transferencia mínima establecida antes de la transmisión. Los valores posibles son: 2400, 4800, 7200, 9600, 12000 o 14400.", - "MAXRATE": "Tasa de transferencia máxima establecida antes de la transmisión. Los valores posibles son: 2400, 4800, 7200, 9600, 12000 o 14400.", - "NAME": "Sólo los números, letras y caracteres específicos (_) son compatibles." - }, - "ADVANCED": "Advanced", + "COMMAND": "Mando", + "CONDITION": "Condición", + "CONTACT": "Contacto", + "CREATED_AT": "Creado en", + "DEFAULT_PAUSE": "Pausa por defecto", + "DELETE": "Borrar", + "DELETE_CHATCANNEDANSWER": "Eliminar la respuesta almacenada", + "DELETE_FAXACCOUNT": "Borrar cuenta de fax", + "DELETE_FAXDISPOSITION": "Eliminar la disposición del fax", + "DELETE_FAXQUEUE": "Eliminar cola de fax", + "DELETE_INTERACTION": "Eliminar interacción", + "DESCRIPTION": "Descripción", + "DISPOSITION": "Disposición", + "DISPOSITIONS": "Plan", "ECM": "ECM", - "MINRATE": "Min Rate", - "MAXRATE": "Tasa máx.", - "MODEM": "Módem", - "GATEWAY": "Gateway", - "FAXDETECT": "Detección de Fax", - "T38TIMEOUT": "T.38 Timeout", - "SIP": "Tecnología", - "HEADERINFO": "La información de encabezado", - "SELECTED": "Seleccionado", - "SELECT_ALL": "Seleccionar todo", - "SELECT_NONE": "Seleccione Ninguno", - "BACK": "Volver", + "EDIT_ACCOUNT": "Editar cuenta de fax", + "EDIT_AGENT": "Editar agente", + "EDIT_CHATCANNEDANSWER": "Editar respuesta enlatada", + "EDIT_CLOSE": "Editar Cerrar", + "EDIT_FAXACCOUNT": "Editar cuenta de fax", + "EDIT_FAXDISPOSITION": "Editar la disposición del fax", + "EDIT_FAXQUEUE": "Editar cola de fax", + "EDIT_GOTO": "Editar Goto", + "EDIT_GOTOIF": "Editar GotoIf", + "EDIT_GOTOP": "Editar GotoP", + "EDIT_NOOP": "Editar Noop", + "EDIT_QUEUE": "Editar cola de fax", + "EDIT_SYSTEM": "Editar sistema", + "EDIT_TRUNK": "Editar tronco", + "FALSEPRIORITY": "Falsa prioridad", "FAX": "Fax", + "FAXACCOUNTS": "Cuentas de fax", + "FAXCANNEDANSWERS": "Anwsers conservados", + "FAXDETECT": "Detección de fax", + "FAXDISPOSITIONS": "Disposiciones de fax", + "FAXQUEUES": "Colas de fax", + "FIDELITY": "Fidelidad", + "FILTER": "Filtrar", + "FROM": "De", + "FULLNAME": "Nombre completo", + "GATEWAY": "Puerta", + "GENERAL": "General", + "GOTOIF": "Ir aIf", + "GOTOP": "Ve arriba", + "GOTOREALTIME_FAXACCOUNT": "Ir a fax en tiempo real", + "GOTOREALTIME_FAXQUEUE": "Ir a cola de fax en tiempo real", + "GOTO_FAXACCOUNT": "Ir a fax en tiempo real", + "HEADERINFO": "Información del encabezado", "ID": "Id", - "TIMEOUT": "Timeout", - "FAXDISPOSITIONS": "Disposiciones de Fax", - "NO_FAXDISPOSITION_AVAILABLE": "Disposiciones Fax no disponible", - "NEW_FAXDISPOSITION": "Nueva disposición de Fax", - "ADD_FAXDISPOSITION": "Agregar Fax disposicion", - "EDIT_FAXDISPOSITION": "Modificar la disposición de Fax", - "DELETE_FAXDISPOSITION": "Eliminar la disposición de Fax", + "IDLE": "Ocioso", + "IN": "En", + "INFO": "Información", + "INTERACTIONS": "Interacciones", + "INTERACTIONS_FAXACCOUNT": "Ir a Interacciones", + "INTERNAL": "Interno", + "IN_USE": "En uso", + "KEY": "Llave", + "LIST": "Lista", + "LOCALSTATIONID": "Identificador de estación local", + "LOGGED_IN": "Conectado", + "LOGOUT": "Cerrar sesión", + "MAIL": "Email", + "MAXRATE": "Máxima calificación", + "MINRATE": "Tasa mínima", + "MODEM": "Módem", + "MOTIONADDRESS": "Motion Address", + "NAME": "Nombre", + "NEW_FAXACCOUNT": "Nueva cuenta de fax", + "NEW_FAXCANNEDANSWER": "Nueva respuesta enlatada", + "NEW_FAXDISPOSITION": "Nueva disposición de fax", "NEW_FAXQUEUE": "Nueva cola de fax", - "NEW_FAXACCOUNT": "Nueva cuenta de Fax", + "NOOP": "Noop", + "NOTES": "Notas", + "NOTIFICATION": "Notificación", + "NOTIFICATIONSHAKE": "Sacudir", + "NOTIFICATIONSOUND": "Sonar", + "NOTIFICATIONTEMPLATE": "Modelo", + "NOT_INUSE": "No esta en uso", + "NO_AGENT_ONLINE": "Sin agente en línea", "NO_AVAILABLE_INFO": "No hay información disponible", - "ALL_TEAMS": "Todos los equipos", - "SELECTED_TEAMS": "Los equipos seleccionados", + "NO_FAXCANNEDANSWER_AVAILABLE": "No hay respuestas enlatadas disponibles", + "NO_FAXDISPOSITION_AVAILABLE": "No hay disposiciones de fax disponibles", + "NO_INTERACTION_AVAILABLE": "No hay interacciones disponibles", + "NO_REGISTRY": "Sin registro", + "OF": "de", + "OPENCHANNEL": "Canal abierto", + "OPENED": "Abrió", + "OUT": "Fuera", "PAGE": "Página", - "ROWSPERPAGE": "Filas por página.", - "OF": "De", - "DELETE": "Eliminar", - "KEY": "Key", - "ALL_AGENTS": "Todos los agentes", - "SELECTED_AGENTS": "Los agentes seleccionados", - "FILTER": "Filtrar", - "SELECT_STATUS": "Seleccione Estado", - "ALL": "Todos", - "CLOSED": "Cerrado", - "OPENED": "Abierto", - "SELECT_ACCOUNT": "Seleccione Cuenta", - "INTERACTIONS": "Interacciones", - "CONTACT": "Contacto", - "STARTEDAT": "Comenzó a", - "STATUS": "El estado", - "ACCOUNT": "Cuenta", - "GOTO_FAXACCOUNT": "Ir al fax en tiempo real", - "ACCOUNTS": "Cuentas", - "GOTOREALTIME_FAXACCOUNT": "Ir al fax en tiempo real", - "TRUNK_STATUS": "Estado troncal", - "TRUNKS": "Enlaces", - "REGISTRY": "Registro", - "NO_REGISTRY": "No hay registro", + "PARTIALPAUSE": "Pausa parcial", "PAUSE": "Pausa", - "INFO": "Info", - "FULLNAME": "Fullname", - "INTERNAL": "Interno", + "PAUSED": "Pausado", "PHONE_STATE": "Estado del teléfono", "PHONE_STATUS": "Estado del teléfono", - "LOGOUT": "Cerrar sesión", - "DEFAULT_PAUSE": "Pausa predeterminada", - "AGENTADD_QUEUE": "Agregar agente de cola de fax", - "AGENTSADD_QUEUE": "Añadir agentes a cola de fax", - "UNPAUSE": "Reanudo", - "AGENTS": "Los agentes", - "QUEUES": "Colas", - "LOGGED_IN": "Iniciar sesión", - "PAUSED": "En pausa", - "READY": "Listo", - "WAITING": "Esperando", "PRIORITY": "Prioridad", - "CONDITION": "Condición", - "TRUEPRIORITY": "True Priority", - "FALSEPRIORITY": "Prioridad falsa", - "VALUE": "Valor", - "EDIT_AGENT": "Editar Agent", - "EDIT_GOTO": "Editar Goto", - "EDIT_NOOP": "Editar Noop", - "EDIT_GOTOP": "Editar GotoP", - "EDIT_GOTOIF": "Editar GotoIf", - "EDIT_QUEUE": "Editar Cola de fax", - "EDIT_CLOSE": "Editar Cerrar", "QUEUE": "Cola", - "GOTOIF": "GotoIf", - "GOTOP": "GotoP", - "NOOP": "Noop", - "AGENT": "Agent", - "NOTES": "Notas", - "CLOSEDAT": "Cerrado a", - "DISPOSITION": "Disposición", - "REALTIME": "Realtime", - "UNKNOWN": "Desconocida", - "UNREGISTERED": "Unregistered", - "UNAVAILABLE": "No disponible", - "NOT_INUSE": "No en uso", + "QUEUES": "Colas", "REACHABLE": "Accesible", - "IN_USE": "En uso", - "VOICE": "Voz", - "CHAT": "Chat", - "MAIL": "Mail", - "SMS": "SMS", - "OPENCHANNEL": "Canal abierto", - "NO_AGENT_ONLINE": "Ningún agente Online", - "GOTOREALTIME_FAXQUEUE": "Vaya a la cola de fax en tiempo real", - "EDIT_TRUNK": "Editar tronco", + "READY": "Listo", + "REALTIME": "Tiempo real", + "REFRESH_INTERACTIONS": "Actualizar interacciones", "REGISTERED": "Registrado", - "EDIT_ACCOUNT": "Editar la cuenta de Fax", - "PARTIALPAUSE": "Pausa parcial", - "BUSY": "Ocupada", - "TIMER": "Timer", - "IDLE": "Inactivo", - "CAPACITY": "Capacidad", - "TOTAL": "Total", - "IN": "En", - "OUT": "Fuera", - "NO_INTERACTION_AVAILABLE": "No existen interacciones disponibles", - "TAGS": "Tags", - "REPLY": "Responder", + "REGISTRY": "Registro", + "REJECT": "Rechazar", + "REJECTMETHOD": "Método de rechazo", + "REJECTURL": "Rechazar URL", + "REPLY": "Respuesta", + "ROWSPERPAGE": "Filas por página", + "SAVE": "Salvar", + "SEARCH_FOR_ANYONE": "Busque a alguien", + "SELECTED": "Seleccionado", + "SELECTED_AGENTS": "Agentes seleccionados", + "SELECTED_TEAMS": "Equipos seleccionados", + "SELECT_ACCOUNT": "Seleccionar cuenta", + "SELECT_ALL": "Seleccionar todo", + "SELECT_NONE": "Seleccione Ninguno", + "SELECT_STATUS": "Seleccionar estado", "SEND": "Enviar", - "TO": "A", - "FROM": "Desde", - "INTERACTIONS_FAXACCOUNT": "Ir a interacciones", - "REFRESH_INTERACTIONS": "Interacciones de actualización", - "CANNEDANSWERS": "Anwsers conservados", - "FAXCANNEDANSWERS": "Anwsers conservados", - "NO_FAXCANNEDANSWER_AVAILABLE": "No hay respuestas enlatadas disponibles", - "NEW_FAXCANNEDANSWER": "Nueva respuesta enlatada", - "ADD_FAXCANNEDANSWER": "Agregar respuesta enlatada", - "EDIT_CHATCANNEDANSWER": "Editar respuesta enlatada", - "DELETE_CHATCANNEDANSWER": "Eliminar la respuesta almacenada", + "SETTINGS": "Configuraciones", + "SIP": "Tecnología", + "SMS": "SMS", "SPYINTERACTION": "Espiar", - "DELETE_INTERACTION": "Eliminar interacción", - "COMMAND": "Mando", - "EDIT_SYSTEM": "Editar sistema", + "STARTEDAT": "Empezó a las", + "STATUS": "Estado", + "STRATEGY": "Estrategia", "SYSTEM": "Sistema", + "T38TIMEOUT": "Tiempo de espera T.38", + "TAGS": "Etiquetas", + "TEAMADD_FAXQUEUE": "Agregar equipo a cola de fax", + "TIMEOUT": "Se acabó el tiempo", + "TIMER": "Minutero", + "TO": "A", + "TOTAL": "Total", + "TRUEPRIORITY": "Verdadera prioridad", + "TRUNK": "El maletero", + "TRUNKS": "Bañador", + "TRUNK_STATUS": "Estado del tronco", + "UNAVAILABLE": "Indisponible", + "UNKNOWN": "Desconocido", + "UNPAUSE": "Fin de pausa", + "UNREGISTERED": "No registrado", + "VALUE": "Valor", "VARIABLE": "Variable", - "NOTIFICATION": "Notificación", - "NOTIFICATIONSHAKE": "Sacudir", - "NOTIFICATIONSOUND": "Sonar", - "NOTIFICATIONTEMPLATE": "Modelo" + "VOICE": "Voz", + "WAITING": "Esperando", + "WEBHOOKS": "WebHooks" } } \ No newline at end of file diff --git a/public/app/main/apps/fax/i18n/ja.json b/public/app/main/apps/fax/i18n/ja.json index c7f4c1d..3b1a1ef 100644 --- a/public/app/main/apps/fax/i18n/ja.json +++ b/public/app/main/apps/fax/i18n/ja.json @@ -1,227 +1,227 @@ { "FAX": { - "TEAMADD_FAXQUEUE": "チームファックスキューに追加します。", - "AGENTADD_FAXQUEUE": "エージェントのファックスキューに追加します。", - "NAME": "名", - "FAXQUEUES": "Fax キュー", - "SEARCH_FOR_ANYONE": "だれでものための検索", "ERRORS": { - "NAME_REQUIRED": "名前は必須です", - "AGENT_TIMEOUT_REQUIRED": "エージェントのタイムアウトが必要", - "MOTIONADDRESS_REQUIRED": "モーションのアドレスが必要です", - "MOTIONADDRESS_MUST_VALID_URL": "モーションアドレスが有効な形式で記述する必要があります", - "LOCALSTATIONID_REQUIRED": "ローカルステーションの識別子が必要です", - "MODEM_REQUIRED": "のモデムが必要です。", - "GATEWAY_REQUIRED": "は、ゲートウェイが必要です", - "FAXDETECT_REQUIRED": "ファクスを検出が必要です", - "T38TIMEOUT_REQUIRED": "T. 38 タイムアウトが必要", - "TIMEOUT_REQUIRED": "タイムアウトは必須です", - "HEADERINFO_REQUIRED": "は、ヘッダー情報が必要です", - "TRUNK_REQUIRED": "トランクが必要です。", - "LIST_REQUIRED": "リストが必要です。", - "KEY_MAX_LENGTH": "主な { 最大 } {0} に相当する最大の長さである必要があります。", - "KEY_REQUIRED": "キーが必要です。", - "AGENT_REQUIRED": "必須フィールドです。", - "QUEUE_REQUIRED": "必須フィールドです。", - "TRUEPRIORITY_REQUIRED": "必須フィールドです。", - "FALSEPRIORITY_REQUIRED": "必須フィールドです。", - "CONDITION_REQUIRED": "必須フィールドです。", - "PRIORITY_REQUIRED": "必須フィールドです。", - "DISPOSITION_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": "この値以上にする必要があります。", - "TEXT_MAX_LENGTH": "値の最大長は{{max}}に等しくなければなりません", - "TEXT_REQUIRED": "必須フィールド", - "VALUE_REQUIRED": "必須フィールド", - "COMMAND_REQUIRED": "必須フィールド", + "AGENT_REQUIRED": "必須フィールド", "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "AGENT_TIMEOUT_REQUIRED": "必須フィールド", + "COMMAND_REQUIRED": "必須フィールド", + "CONDITION_REQUIRED": "必須フィールド", + "DISPOSITION_REQUIRED": "必須フィールド", + "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "FALSEPRIORITY_REQUIRED": "必須フィールド", + "FAXDETECT_REQUIRED": "必須フィールド", + "GATEWAY_REQUIRED": "必須フィールド", + "HEADERINFO_REQUIRED": "必須フィールド", + "KEY_MAX_LENGTH": "値の最大長は{{max}}に等しくなければなりません", + "KEY_REQUIRED": "必須フィールド", + "LIST_REQUIRED": "必須フィールド", + "LOCALSTATIONID_REQUIRED": "必須フィールド", + "MODEM_REQUIRED": "必須フィールド", + "MOTIONADDRESS_MUST_VALID_URL": "間違ったフォーマット", + "MOTIONADDRESS_REQUIRED": "必須フィールド", "NAME_MUST_VALID_PATTERN": "間違ったフォーマット", - "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下にする必要があります" + "NAME_REQUIRED": "必須フィールド", + "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "PRIORITY_REQUIRED": "必須フィールド", + "QUEUE_REQUIRED": "必須フィールド", + "T38TIMEOUT_REQUIRED": "必須フィールド", + "TEXT_MAX_LENGTH": "値の最大長は{{max}}に等しくなければなりません", + "TEXT_REQUIRED": "必須フィールド", + "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下にする必要があります", + "TIMEOUT_REQUIRED": "必須フィールド", + "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "TRUEPRIORITY_REQUIRED": "必須フィールド", + "TRUNK_REQUIRED": "必須フィールド", + "VALUE_REQUIRED": "必須フィールド" }, - "STRATEGY": "戦略", + "HELP": { + "ECM": "エラー接続モード(ECM)", + "FAXDETECT": "任意のタイムアウト(秒単位)でFAX検出を有効にする(yes / t38 / cng / [timeout] / no)", + "GATEWAY": "オプションのFAXアクティビティタイムアウト(秒/秒/ [タイムアウト])を設定したT.38 Fax Gateway", + "HEADERINFO": "アウトバウンドファックスヘッダー情報", + "LOCALSTATIONID": "ローカルステーション識別子(電話番号)", + "MAXRATE": "送信前に設定された最大転送レート", + "MINRATE": "送信前に設定された最小転送速度", + "MODEM": "モデムタイプ(v17 / v27 / v29)", + "NAME": "数字、文字、および特定の文字(._)のみがサポートされています", + "T38TIMEOUT": "T.38ネゴシエーション(最小値= 1000)に使用されるタイムアウトは、" + }, + "ACCEPT": "同意する", + "ACCEPTMETHOD": "Acceptメソッド", + "ACCEPTURL": "URLを受け入れる", + "ACCOUNT": "アカウント", + "ACCOUNTS": "アカウント", + "ACTIONS": "行動", + "ADD_FAXACCOUNT": "FAXアカウントを追加する", + "ADD_FAXCANNEDANSWER": "缶詰の回答を追加", + "ADD_FAXDISPOSITION": "ファックス処理を追加する", + "ADD_FAXQUEUE": "FAXキューを追加する", + "ADVANCED": "上級", + "AGENT": "エージェント", + "AGENTADD_FAXQUEUE": "FAXキューにエージェントを追加する", + "AGENTADD_QUEUE": "エージェントをFAXキューに追加する", + "AGENTS": "エージェント", + "AGENTSADD_QUEUE": "FAXキューにエージェントを追加する", "AGENT_TIMEOUT": "エージェントのタイムアウト", + "ALL": "すべて", + "ALL_AGENTS": "すべてのエージェント", + "ALL_TEAMS": "すべてのチーム", + "BACK": "バック", + "BUSY": "忙しい", + "CANNEDANSWERS": "缶詰アンサー", + "CAPACITY": "容量", + "CHAT": "チャット", + "CLOSE": "閉じる", + "CLOSED": "閉まっている", + "CLOSEDAT": "休館日", + "CLOSEMETHOD": "Closeメソッド", + "CLOSEURL": "URLを閉じる", + "COMMAND": "コマンド", + "CONDITION": "調子", + "CONTACT": "接触", + "CREATED_AT": "作成者:", + "DEFAULT_PAUSE": "デフォルトの一時停止", + "DELETE": "削除", + "DELETE_CHATCANNEDANSWER": "回答テンプレートを削除する", + "DELETE_FAXACCOUNT": "FAXアカウントの削除", + "DELETE_FAXDISPOSITION": "ファックスの処分を削除する", + "DELETE_FAXQUEUE": "FAXキューを削除する", + "DELETE_INTERACTION": "インタラクションの削除", "DESCRIPTION": "説明", - "ADD_FAXQUEUE": "Fax キューを追加します。", - "EDIT_FAXQUEUE": "編集 Fax キュー", - "DELETE_FAXQUEUE": "Fax キューを削除する", - "CREATED_AT": "で作成された", - "SAVE": "保存", - "SETTINGS": "の設定", - "GENERAL": "一般的な", + "DISPOSITION": "配置", + "DISPOSITIONS": "処分", + "ECM": "ECM", + "EDIT_ACCOUNT": "ファックスアカウントの編集", + "EDIT_AGENT": "エージェントの編集", + "EDIT_CHATCANNEDANSWER": "回答テンプレートを編集する", + "EDIT_CLOSE": "編集閉じる", + "EDIT_FAXACCOUNT": "ファックスアカウントの編集", + "EDIT_FAXDISPOSITION": "ファックスの処分を編集する", + "EDIT_FAXQUEUE": "ファックスキューを編集する", + "EDIT_GOTO": "後藤を編集する", + "EDIT_GOTOIF": "編集GotoIf", + "EDIT_GOTOP": "GotoPを編集する", + "EDIT_NOOP": "編集不要", + "EDIT_QUEUE": "ファックスキューを編集する", + "EDIT_SYSTEM": "システムの編集", + "EDIT_TRUNK": "トランクを編集", + "FALSEPRIORITY": "誤った優先順位", + "FAX": "ファックス", "FAXACCOUNTS": "ファックスアカウント", - "MOTIONADDRESS": "モーションのアドレス", - "ADD_FAXACCOUNT": "Fax アカウントを追加します", - "EDIT_FAXACCOUNT": "編集ファックスアカウント", - "DELETE_FAXACCOUNT": "ファックスアカウントの削除", - "DISPOSITIONS": "ディスポジション", - "WEBHOOKS": "WebHooks", - "ACTIONS": "アクション", + "FAXCANNEDANSWERS": "缶詰アンサー", + "FAXDETECT": "ファックス検出", + "FAXDISPOSITIONS": "ファックス処理", + "FAXQUEUES": "FAXキュー", + "FIDELITY": "フィデリティ", + "FILTER": "フィルタ", + "FROM": "から", + "FULLNAME": "フルネーム", + "GATEWAY": "ゲートウェイ", + "GENERAL": "一般", + "GOTOIF": "ジャンプ", + "GOTOP": "上に行きます", + "GOTOREALTIME_FAXACCOUNT": "リアルタイムFAXに行く", + "GOTOREALTIME_FAXQUEUE": "リアルタイムFAXキューに移動", + "GOTO_FAXACCOUNT": "リアルタイムFAXに行く", + "HEADERINFO": "ヘッダー情報", + "ID": "イド", + "IDLE": "アイドル", + "IN": "イン", + "INFO": "情報", + "INTERACTIONS": "インタラクション", + "INTERACTIONS_FAXACCOUNT": "インタラクションへ行く", + "INTERNAL": "内部", + "IN_USE": "使用中で", + "KEY": "キー", "LIST": "リスト", - "FIDELITY": "忠実性", - "ACCEPT": "受け入れる", - "ACCEPTMETHOD": "方法を受け入れる", - "ACCEPTURL": "URL を受け入れ", - "REJECT": "拒否", - "REJECTMETHOD": "拒否メソッド", - "REJECTURL": "拒否 URL", - "CLOSE": "閉じる", - "CLOSEMETHOD": "Close メソッド", - "CLOSEURL": "閉じる URL", - "TRUNK": "トランク", - "LOCALSTATIONID": "ローカル駅の識別子", - "HELP": { - "LOCALSTATIONID": "ローカルステーション ID (電話番号)します。", - "HEADERINFO": "発信ファックスヘッダー情報を表示します。", - "MODEM": "モデムのタイプ( v 17 / v 27 / v 29 ) 。", - "GATEWAY": "T. 38 Fax ゲートウェイは、オプションで秒 fax アクティビティタイムアウト ( はい / いいえ / [ タイムアウトなし ] ) 。", - "FAXDETECT": "ファックスオプションの秒単位でのタイムアウト検出をイネーブルにします ( はい / t 38 / CNG / [ タイムアウト ] はありません)。", - "T38TIMEOUT": "T. 38 ネゴシエーションに使用されるタイムアウトを設定します。 最小値は 1000 です。", - "ECM": "エラーが発生しました接続モード( ECM )します。", - "MINRATE": "最小の転送レートは、データを送信する前に設定されています。 指定可能な値は次のとおりです。 2400 、 4800 、 7200 、 9600 、 12000 、または 14400 です。", - "MAXRATE": "最大転送レートは、データを送信する前に設定されています。 指定可能な値は次のとおりです。 2400 、 4800 、 7200 、 9600 、 12000 、または 14400 です。", - "NAME": "数字、文字、およびのみ特定の文字 ( 。 ) はサポートされています" - }, - "ADVANCED": "高度な", - "ECM": "ECM", - "MINRATE": "最小レート", + "LOCALSTATIONID": "ローカルステーション識別子", + "LOGGED_IN": "ログインした", + "LOGOUT": "ログアウト", + "MAIL": "Eメール", "MAXRATE": "最大レート", + "MINRATE": "最小レート", "MODEM": "モデム", - "GATEWAY": "ゲートウェイ", - "FAXDETECT": "ファクスを検出", - "T38TIMEOUT": "T. 38 タイムアウト", - "SIP": "技術", - "HEADERINFO": "ヘッダ情報", - "SELECTED": "選択した", - "SELECT_ALL": "すべてを選択します", - "SELECT_NONE": "「なし」を選択します。", - "BACK": "背面", - "FAX": "Fax", - "ID": "Id", - "TIMEOUT": "タイムアウト", - "FAXDISPOSITIONS": "Fax のディスポジション", - "NO_FAXDISPOSITION_AVAILABLE": "Fax のディスポジションを使用できません", - "NEW_FAXDISPOSITION": "新しいファックス処理", - "ADD_FAXDISPOSITION": "ファックスのディスポジションの追加 ]", - "EDIT_FAXDISPOSITION": "編集 Fax 処理", - "DELETE_FAXDISPOSITION": "Fax のディスポジションを削除", - "NEW_FAXQUEUE": "新しい FAX キュー", - "NEW_FAXACCOUNT": "新しい FAX アカウントを", - "NO_AVAILABLE_INFO": "使用可能な情報はありません", - "ALL_TEAMS": "すべてのチーム", - "SELECTED_TEAMS": "選択したチーム", - "PAGE": "ページ", - "ROWSPERPAGE": "ページあたりの行数", + "MOTIONADDRESS": "モーションアドレス", + "NAME": "名", + "NEW_FAXACCOUNT": "新しいFAXアカウント", + "NEW_FAXCANNEDANSWER": "新しい缶詰アンサー", + "NEW_FAXDISPOSITION": "新しいファックスの処分", + "NEW_FAXQUEUE": "新しいFAXキュー", + "NOOP": "いいえ", + "NOTES": "ノート", + "NOTIFICATION": "お知らせ", + "NOTIFICATIONSHAKE": "振る", + "NOTIFICATIONSOUND": "音", + "NOTIFICATIONTEMPLATE": "テンプレート", + "NOT_INUSE": "使用されていません", + "NO_AGENT_ONLINE": "オンライン代理店はありません", + "NO_AVAILABLE_INFO": "利用可能な情報がありません", + "NO_FAXCANNEDANSWER_AVAILABLE": "缶詰の回答はありません", + "NO_FAXDISPOSITION_AVAILABLE": "ファックス処理が利用できません", + "NO_INTERACTION_AVAILABLE": "インタラクションは利用できません", + "NO_REGISTRY": "レジストリなし", "OF": "の", - "DELETE": "削除", - "KEY": "キー", - "ALL_AGENTS": "すべてのエージェント", - "SELECTED_AGENTS": "選択したエージェント", - "FILTER": "フィルタ", - "SELECT_STATUS": "ステータスを選択してください。", - "ALL": "すべての", - "CLOSED": "閉", - "OPENED": "開いた", - "SELECT_ACCOUNT": "アカウントを選択します。", - "INTERACTIONS": "相互作用", - "CONTACT": "連絡先", - "STARTEDAT": "を開始しました", - "STATUS": "ステータス", - "ACCOUNT": "アカウント", - "GOTO_FAXACCOUNT": "リアルタイムのファックスに移動します。", - "ACCOUNTS": "アカウント", - "GOTOREALTIME_FAXACCOUNT": "リアルタイムのファックスに移動します。", - "TRUNK_STATUS": "トランクステータス", - "TRUNKS": "トランク", - "REGISTRY": "レジストリ", - "NO_REGISTRY": "レジストリはありません", + "OPENCHANNEL": "オープンチャンネル", + "OPENED": "開かれた", + "OUT": "アウト", + "PAGE": "ページ", + "PARTIALPAUSE": "部分的な一時停止", "PAUSE": "一時停止", - "INFO": "情報", - "FULLNAME": "Fullname", - "INTERNAL": "内部", + "PAUSED": "一時停止中", "PHONE_STATE": "電話の状態", - "PHONE_STATUS": "電話のステータス", - "LOGOUT": "ログアウト", - "DEFAULT_PAUSE": "デフォルトの一時停止", - "AGENTADD_QUEUE": "ファックスキューにエージェントを追加する", - "AGENTSADD_QUEUE": "ファックスキューにエージェントを追加する", - "UNPAUSE": "Unpause", - "AGENTS": "担当者", - "QUEUES": "キュー", - "LOGGED_IN": "ログインしている", - "PAUSED": "一時停止", - "READY": "準備ができました", - "WAITING": "待機している", - "PRIORITY": "優先順位", - "CONDITION": "条件", - "TRUEPRIORITY": "真の優先順位", - "FALSEPRIORITY": "偽の優先順位", - "VALUE": "値", - "EDIT_AGENT": "エージェントの編集", - "EDIT_GOTO": "後藤編集", - "EDIT_NOOP": "Noop 編集", - "EDIT_GOTOP": "GotoP 編集", - "EDIT_GOTOIF": "GotoIf 編集", - "EDIT_QUEUE": "ファックス編集キュー", - "EDIT_CLOSE": "編集を閉じる", + "PHONE_STATUS": "電話ステータス", + "PRIORITY": "優先", "QUEUE": "キュー", - "GOTOIF": "GotoIf", - "GOTOP": "GotoP", - "NOOP": "Noop", - "AGENT": "エージェント", - "NOTES": "ノート", - "CLOSEDAT": "で引けた。", - "DISPOSITION": "廃棄", - "REALTIME": "リアルタイム", - "UNKNOWN": "不明な", - "UNREGISTERED": "登録されていない", - "UNAVAILABLE": "使用できません。", - "NOT_INUSE": "使用されていません。", + "QUEUES": "キュー", "REACHABLE": "到達可能", - "IN_USE": "のを使用します。", - "VOICE": "音声", - "CHAT": "チャット", - "MAIL": "メール", + "READY": "準備完了", + "REALTIME": "リアルタイム", + "REFRESH_INTERACTIONS": "インタラクションのリフレッシュ", + "REGISTERED": "登録済み", + "REGISTRY": "レジストリ", + "REJECT": "拒否", + "REJECTMETHOD": "拒否メソッド", + "REJECTURL": "拒否URL", + "REPLY": "応答", + "ROWSPERPAGE": "ページあたりの行数", + "SAVE": "セーブ", + "SEARCH_FOR_ANYONE": "サーチ", + "SELECTED": "選択された", + "SELECTED_AGENTS": "選択されたエージェント", + "SELECTED_TEAMS": "選ばれたチーム", + "SELECT_ACCOUNT": "アカウントを選択", + "SELECT_ALL": "すべて選択", + "SELECT_NONE": "選択なし", + "SELECT_STATUS": "ステータスを選択", + "SEND": "送信", + "SETTINGS": "設定", + "SIP": "技術", "SMS": "SMS", - "OPENCHANNEL": "オープンチャネル", - "NO_AGENT_ONLINE": "エージェントのオンラインがありません", - "GOTOREALTIME_FAXQUEUE": "リアルタイムでの FAX キューに移動します。", - "EDIT_TRUNK": "編集トランク", - "REGISTERED": "登録されている", - "EDIT_ACCOUNT": "ファックスアカウントの編集", - "PARTIALPAUSE": "部分的に一時停止", - "BUSY": "忙しい", - "TIMER": "タイマー", - "IDLE": "アイドル", - "CAPACITY": "容量", - "TOTAL": "合計", - "IN": "で", - "OUT": "出", - "NO_INTERACTION_AVAILABLE": "利用可能な相互作用はありません", - "TAGS": "タグ", - "REPLY": "返信", - "SEND": "送信します。", - "TO": "を", - "FROM": "から", - "INTERACTIONS_FAXACCOUNT": "相互作用に移動します。", - "REFRESH_INTERACTIONS": "リフレッシュの相互作用", - "CANNEDANSWERS": "缶詰アンサー", - "FAXCANNEDANSWERS": "缶詰アンサー", - "NO_FAXCANNEDANSWER_AVAILABLE": "缶詰の回答はありません", - "NEW_FAXCANNEDANSWER": "新しい缶詰アンサー", - "ADD_FAXCANNEDANSWER": "缶詰の回答を追加", - "EDIT_CHATCANNEDANSWER": "缶詰の回答を編集する", - "DELETE_CHATCANNEDANSWER": "缶詰の回答を削除する", "SPYINTERACTION": "スパイ", - "DELETE_INTERACTION": "インタラクションの削除", - "COMMAND": "コマンド", - "EDIT_SYSTEM": "システムの編集", + "STARTEDAT": "開始日", + "STATUS": "状態", + "STRATEGY": "戦略", "SYSTEM": "システム", + "T38TIMEOUT": "T.38タイムアウト", + "TAGS": "タグ", + "TEAMADD_FAXQUEUE": "FAXキューにチームを追加する", + "TIMEOUT": "タイムアウト", + "TIMER": "タイマー", + "TO": "に", + "TOTAL": "合計", + "TRUEPRIORITY": "真の優先順位", + "TRUNK": "トランク", + "TRUNKS": "トランクス", + "TRUNK_STATUS": "トランクの状態", + "UNAVAILABLE": "利用できません", + "UNKNOWN": "未知の", + "UNPAUSE": "終了ポーズ", + "UNREGISTERED": "未登録", + "VALUE": "値", "VARIABLE": "変数", - "NOTIFICATION": "お知らせ", - "NOTIFICATIONSHAKE": "振る", - "NOTIFICATIONSOUND": "音", - "NOTIFICATIONTEMPLATE": "テンプレート" + "VOICE": "音声", + "WAITING": "待っている", + "WEBHOOKS": "WebHooks" } } \ No newline at end of file diff --git a/public/app/main/apps/help/i18n/es.json b/public/app/main/apps/help/i18n/es.json index cad4d42..9c2490f 100644 --- a/public/app/main/apps/help/i18n/es.json +++ b/public/app/main/apps/help/i18n/es.json @@ -1,8 +1,8 @@ { "HELP": { - "HELP": "Ayuda", "ABOUT": "Acerca de", - "USEFUL_LINKS": "Enlaces útiles", - "CONTACT_US": "Contáctenos" + "CONTACT_US": "Contáctenos", + "HELP": "Ayuda", + "USEFUL_LINKS": "Enlaces útiles" } } \ No newline at end of file diff --git a/public/app/main/apps/help/i18n/ja.json b/public/app/main/apps/help/i18n/ja.json index 201213d..c99dadd 100644 --- a/public/app/main/apps/help/i18n/ja.json +++ b/public/app/main/apps/help/i18n/ja.json @@ -1,8 +1,8 @@ { "HELP": { - "HELP": "ヘルプ", - "ABOUT": "について", - "USEFUL_LINKS": "便利なリンク", - "CONTACT_US": "お問い合わせ" + "ABOUT": "約", + "CONTACT_US": "お問い合わせ", + "HELP": "助けて", + "USEFUL_LINKS": "役に立つリンク" } } \ No newline at end of file diff --git a/public/app/main/apps/integrations/i18n/en.json b/public/app/main/apps/integrations/i18n/en.json index 90c870c..214fa09 100644 --- a/public/app/main/apps/integrations/i18n/en.json +++ b/public/app/main/apps/integrations/i18n/en.json @@ -87,7 +87,7 @@ "CLIENTID": "Client ID", "CLIENTSECRET": "Client Secret", "SECURITYTOKEN": "Security Token", - "SEARCH_FOR_ANYONE": "Search for anyone", + "SEARCH_FOR_ANYONE": "Search", "APIKEY": "Api Key", "FRESHDESKACCOUNTS": "Freshdesk Accounts", "EDIT_FRESHDESKACCOUNT": "Edit Freshdesk Account", diff --git a/public/app/main/apps/integrations/i18n/es.json b/public/app/main/apps/integrations/i18n/es.json index 0c7c60d..304031d 100644 --- a/public/app/main/apps/integrations/i18n/es.json +++ b/public/app/main/apps/integrations/i18n/es.json @@ -1,173 +1,173 @@ { "INTEGRATIONS": { - "INTEGRATIONS": "Integraciones", - "ZENDESKACCOUNTS": "Cuentas Zendesk", - "ID": "Id", - "NAME": "Nombre", - "USERNAME": "Nombre de usuario", - "URI": "URL", - "BACK": "Volver", - "SELECTED": "Seleccionado", - "SELECT_ALL": "Seleccionar todo", - "SELECT_NONE": "Seleccione Ninguno", - "EDIT_ZENDESKACCOUNT": "Editar Cuenta Zendesk", - "DELETE_ZENDESKACCOUNT": "Eliminar cuenta Zendesk", - "NEW_ZENDESKACCOUNT": "Nueva cuenta de Zendesk", - "AUTHTYPE": "Tipo de autenticación", - "PASSWORD": "Contraseña", - "CONFIRM_PASSWORD": "Confirmar contraseña", - "TOKEN": "Token", - "MOTIONPROXYADDRESS": "Movimiento o dirección IP de Proxy", - "DESCRIPTION": "Descripción", - "ADD_ZENDESKACCOUNT": "Agregar cuenta Zendesk", + "HELP": { + "MOTIONPROXYADDRESS": "Address de Motion (Proxy): se requiere si desea llenar el cuerpo del ticket con la URL de grabación. Ingrese la dirección en el siguiente formato: : // [: ]. Ejemplo: https: //X.Y.Z.W" + }, "ERRORS": { - "NAME_REQUIRED": "El nombre es obligatorio", - "USERNAME_REQUIRED": "El nombre de usuario es obligatorio", - "URI_REQUIRED": "El URL es obligatorio", - "URI_MUST_VALID_URL": "El URL debe estar escrito en un formato válido", - "PASSWORD_REQUIRED": "Es necesaria la contraseña", + "APIKEY_REQUIRED": "Campo obligatorio", + "AUTHTOKEN_REQUIRED": "Campo obligatorio", + "CLIENTID_REQUIRED": "Campo obligatorio", + "CLIENTSECRET_REQUIRED": "Campo obligatorio", "CONFIRM_NOT_MATCH": "Las contraseñas no coinciden", - "TOKEN_REQUIRED": "El token es obligatorio", - "MOTIONPROXYADDRESS_MUST_VALID_URL": "La dirección debe estar escrito en un formato válido", - "CLIENTID_REQUIRED": "El ID de cliente es obligatorio", - "CLIENTSECRET_REQUIRED": "El secreto del cliente es obligatorio", - "SECURITYTOKEN_REQUIRED": "El token de seguridad es obligatorio", - "APIKEY_REQUIRED": "Se requiere la clave de API", - "CONTENT_REQUIRED": "El contenido es obligatorio", - "VARIABLENAME_REQUIRED": "Es necesaria la variable", - "KEY_REQUIRED": "La clave es necesaria", - "TYPE_REQUIRED": "El tipo es requerido", - "VALUE_REQUIRED": "El valor es obligatorio", - "FIELD_REQUIRED": "El campo es obligatorio", - "CONSUMERKEY_REQUIRED": "El consumidor se requiere clave", - "CONSUMERSECRET_REQUIRED": "El consumidor es necesario secreto", - "TOKENSECRET_REQUIRED": "El Token es necesario secreto", - "HOST_REQUIRED": "El Host es obligatorio", - "AUTHTOKEN_REQUIRED": "Se requiere la autorización de token" - }, - "HELP": { - "MOTIONPROXYADDRESS": "Motion (proxy) Dirección: es obligatorio si desea rellenar el ticket el cuerpo con la recodificación URL. Por favor, introduzca en el siguiente formato: <Protocol> : //:// [:]。例: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": "クライアント ID", + "ADD": "追加", + "ADD_CONFIGURATION": "設定を追加する", + "ADD_DESCRIPTION": "説明を追加", + "ADD_DESKACCOUNT": "デスクアカウントを追加する", + "ADD_DESKCONFIGURATION": "デスク構成の追加", + "ADD_FIELD": "フィールドを追加", + "ADD_FRESHDESKACCOUNT": "Freshdeskアカウントを追加する", + "ADD_FRESHDESKCONFIGURATION": "Freshdeskの設定を追加する", + "ADD_SALESFORCEACCOUNT": "Salesforceアカウントを追加する", + "ADD_SALESFORCECONFIGURATION": "Salesforce設定を追加する", + "ADD_SUBJECT": "件名を追加", + "ADD_SUGARCRMACCOUNT": "SugarCRMアカウントを追加する", + "ADD_SUGARCRMCONFIGURATION": "SugarCRM設定を追加する", + "ADD_ZENDESKACCOUNT": "Zendeskアカウントを追加する", + "ADD_ZENDESKCONFIGURATION": "Zendesk設定を追加する", + "ADD_ZOHOACCOUNT": "Zohoアカウントを追加", + "ADD_ZOHOCONFIGURATION": "Zoho設定を追加する", + "ADVANCED": "上級", + "APIKEY": "Api Key", + "AUTHTOKEN": "承認トークン", + "AUTHTYPE": "認証タイプ", + "BACK": "バック", + "CHANNEL": "チャネル", + "CHAT": "チャット", + "CLIENTID": "クライアントID", "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": "タイプ", + "CONFIRM_PASSWORD": "パスワードを認証する", + "CONSUMERKEY": "コンシューマーキー", + "CONSUMERSECRET": "消費者の秘密", "CONTENT": "コンテンツ", - "EDIT_SUBJECT": "件名を編集", - "DELETE_SUBJECT": "件名を削除", - "NEW_SUBJECT": "新しい件名", - "ADD_SUBJECT": "件名の追加", + "CREATED_AT": "作成者:", + "DELETE": "削除", + "DELETE_CONFIGURATION": "設定を削除する", + "DELETE_DESCRIPTION": "説明の削除", + "DELETE_DESKACCOUNT": "デスクアカウントの削除", + "DELETE_DESKCONFIGURATION": "デスク構成の削除", + "DELETE_FIELD": "フィールドの削除", + "DELETE_FRESHDESKACCOUNT": "Freshdeskアカウントを削除する", + "DELETE_FRESHDESKCONFIGURATION": "Freshdeskの設定を削除する", + "DELETE_SALESFORCEACCOUNT": "Salesforceアカウントを削除する", + "DELETE_SALESFORCECONFIGURATION": "Salesforce設定の削除", + "DELETE_SUBJECT": "件名の削除", + "DELETE_SUGARCRMACCOUNT": "SugarCRMアカウントを削除する", + "DELETE_SUGARCRMCONFIGURATION": "SugarCRM設定の削除", + "DELETE_ZENDESKACCOUNT": "Zendeskアカウントを削除する", + "DELETE_ZENDESKCONFIGURATION": "Zendeskの設定を削除する", + "DELETE_ZOHOACCOUNT": "Zohoアカウントを削除する", + "DELETE_ZOHOCONFIGURATION": "Zoho設定を削除する", + "DESCRIPTION": "説明", + "DESCRIPTIONS": "説明", + "DESKACCOUNTS": "デスクアカウント", + "EDIT_CONFIGURATION": "設定の編集", "EDIT_DESCRIPTION": "説明の編集", - "DELETE_DESCRIPTION": "説明を削除", - "NEW_DESCRIPTION": "新しい説明を入力します。", - "ADD_DESCRIPTION": "説明を追加します。", + "EDIT_DESKACCOUNT": "デスクアカウントの編集", "EDIT_FIELD": "編集フィールド", - "DELETE_FIELD": "フィールドを削除する", - "NEW_FIELD": "新しいフィールド", - "ADD_FIELD": "フィールドを追加する", - "ADD": "を追加", - "VOICE": "音声", - "MAIL": "電子メール", - "CHAT": "チャット", - "SMS": "SMS", - "OPENCHANNEL": "チャネルを開きます。", - "INBOUND_IN_QUEUE": "キュー内のインバウンド", - "OUTBOUND_CALL": "アウトバウンドコール", - "VALUE": "値", + "EDIT_FRESHDESKACCOUNT": "Freshdeskアカウントを編集する", + "EDIT_FRESHDESKCONFIGURATION": "Freshdeskの設定を編集する", + "EDIT_SALESFORCEACCOUNT": "Salesforceアカウントの編集", + "EDIT_SALESFORCECONFIGURATION": "Salesforce設定の編集", + "EDIT_SUBJECT": "件名を編集する", + "EDIT_SUGARCRMACCOUNT": "SugarCRMアカウントを編集する", + "EDIT_SUGARCRMCONFIGURATION": "SugarCRM設定の編集", + "EDIT_ZENDESKACCOUNT": "Zendeskアカウントを編集する", + "EDIT_ZENDESKCONFIGURATION": "Zendeskの設定を編集する", + "EDIT_ZOHOACCOUNT": "Zohoアカウントを編集する", "FIELD": "フィールド", + "FIELDS": "フィールド", + "FRESHDESKACCOUNTS": "フレッシュデスクアカウント", + "FRESHDESKCONFIGURATIONS": "フレッシュデスク構成", + "GENERAL": "一般", + "HOST": "ホスト", + "ID": "イド", + "INBOUND_IN_QUEUE": "キューインバウンド", + "INTEGRATIONS": "統合", + "INTEGRATION_TAB": "統合タブ", "KEY": "キー", - "CHANNEL": "チャネル", - "DELETE": "削除", - "NO_AVAILABLE_INFO": "使用可能な情報はありません", - "TEST_ZENDESKACCOUNT": "テストアカウント Zendesk", - "TEST_FRESHDESKACCOUNT": "テスト Freshdesk アカウント", - "TEST_SUGARCRMACCOUNT": "テスト SugerCRM アカウント", - "TEST_SALESFORCEACCOUNT": "テストの Salesforce アカウント", - "INTEGRATION_TAB": "統合 ] タブ", - "NEW_TAB": "新しいタブ", - "DESKACCOUNTS": "デスクアカウント", - "EDIT_DESKACCOUNT": "編集デスクアカウント", - "TEST_DESKACCOUNT": "テストデスクアカウント", - "DELETE_DESKACCOUNT": "デスクのアカウントを削除します", - "CONSUMERKEY": "消費者キー", - "CONSUMERSECRET": "消費者シークレット", - "TOKENSECRET": "トークンシークレット", - "ADD_DESKACCOUNT": "デスクアカウントを追加します", + "MAIL": "Eメール", + "MODULE_CREATE": "モジュール作成", + "MODULE_SEARCH": "モジュール検索", + "MOTIONPROXYADDRESS": "モーションまたはプロキシのIPアドレス", + "NAME": "名", + "NEW_CONFIGURATION": "新しい設定", + "NEW_DESCRIPTION": "新しい説明", "NEW_DESKACCOUNT": "新しいデスクアカウント", - "ADD_DESKCONFIGURATION": "デスクの構成を追加します", - "NEW_DESKCONFIGURATION": "新しいデスクの構成", - "DELETE_DESKCONFIGURATION": "デスクの構成を削除します", - "ZOHOACCOUNTS": "Zoho のアカウント", - "EDIT_ZOHOACCOUNT": "Zoho アカウントの編集", - "TEST_ZOHOACCOUNT": "テストアカウント輯〜第二輯", - "DELETE_ZOHOACCOUNT": "Zoho のアカウントを削除します", - "ADD_ZOHOACCOUNT": "Zoho のアカウントを追加します", - "NEW_ZOHOACCOUNT": "新しいアカウント輯〜第二輯", - "ADD_ZOHOCONFIGURATION": "Zoho の構成を追加します", - "NEW_ZOHOCONFIGURATION": "新しい Zoho の設定", - "AUTHTOKEN": "認証トークン", - "HOST": "ホスト", - "DELETE_ZOHOCONFIGURATION": "Zoho の構成を削除します", + "NEW_DESKCONFIGURATION": "新しい机の構成", + "NEW_FIELD": "新しいフィールド", + "NEW_FRESHDESKACCOUNT": "新しいFreshdeskアカウント", + "NEW_FRESHDESKCONFIGURATION": "新しいFreshdesk設定", + "NEW_SALESFORCEACCOUNT": "新しいSalesforceアカウント", + "NEW_SALESFORCECONFIGURATION": "新しいSalesforce設定", + "NEW_SUBJECT": "新しい科目", + "NEW_SUGARCRMACCOUNT": "新しいSugarCRMアカウント", + "NEW_SUGARCRMCONFIGURATION": "新しいSugarCRMの設定", + "NEW_TAB": "新しいタブ", + "NEW_ZENDESKACCOUNT": "新しいZendeskアカウント", + "NEW_ZENDESKCONFIGURATION": "新しいZendesk設定", + "NEW_ZOHOACCOUNT": "新しいZohoアカウント", + "NEW_ZOHOCONFIGURATION": "新しいZoho設定", + "NO_AVAILABLE_INFO": "利用可能な情報がありません", + "NO_CONFIGURATION_AVAILABLE": "利用可能な設定がありません", + "NO_FRESHDESKCONFIGURATION_AVAILABLE": "Freshdesk構成は利用できません", + "NO_SALESFORCECONFIGURATION_AVAILABLE": "Salesforceの設定はありません", + "NO_SUGARCRMCONFIGURATION_AVAILABLE": "SugarCRM構成は利用できません", + "NO_ZENDESKCONFIGURATION_AVAILABLE": "Zendesk構成は利用できません", + "OF": "の", + "OPENCHANNEL": "オープンチャンネル", + "OUTBOUND_CALL": "発信コール", "PAGE": "ページ", + "PASSWORD": "パスワード", "ROWSPERPAGE": "ページあたりの行数", - "OF": "の", - "ADVANCED": "高度な", - "MODULE_SEARCH": "モジュールの検索", - "MODULE_CREATE": "モジュールを作成します。" + "SALESFORCEACCOUNTS": "Salesforceアカウント", + "SALESFORCECONFIGURATIONS": "Salesforceの設定", + "SAVE": "セーブ", + "SEARCH_FOR_ANYONE": "サーチ", + "SECURITYTOKEN": "セキュリティトークン", + "SELECTED": "選択された", + "SELECT_ALL": "すべて選択", + "SELECT_NONE": "選択なし", + "SMS": "SMS", + "SUBJECTS": "科目", + "SUGARCRMACCOUNTS": "SugarCRMアカウント", + "SUGARCRMCONFIGURATIONS": "SugarCRMの構成", + "TAGS": "タグ", + "TEST_DESKACCOUNT": "テストデスクアカウント", + "TEST_FRESHDESKACCOUNT": "テストFreshdeskアカウント", + "TEST_SALESFORCEACCOUNT": "Salesforceアカウントのテスト", + "TEST_SUGARCRMACCOUNT": "SugerCRMアカウントをテストする", + "TEST_ZENDESKACCOUNT": "Zendeskアカウントをテストする", + "TEST_ZOHOACCOUNT": "Zohoアカウントをテストする", + "TOKEN": "トークン", + "TOKENSECRET": "トークンシークレット", + "TYPE": "タイプ", + "URI": "URL", + "USERNAME": "ユーザー名", + "VALUE": "値", + "VOICE": "音声", + "ZENDESKACCOUNTS": "Zendeskアカウント", + "ZENDESKCONFIGURATIONS": "Zendeskの設定", + "ZOHOACCOUNTS": "Zohoアカウント" } } \ No newline at end of file diff --git a/public/app/main/apps/jscripty/i18n/en.json b/public/app/main/apps/jscripty/i18n/en.json index 99088f1..60704a9 100644 --- a/public/app/main/apps/jscripty/i18n/en.json +++ b/public/app/main/apps/jscripty/i18n/en.json @@ -2,7 +2,7 @@ "JSCRIPTY": { "CLONE_PROJECT": "Clone Project", "NAME": "Name", - "SEARCH_FOR_ANYONE": "Search for anyone", + "SEARCH_FOR_ANYONE": "Search", "BACK": "Back", "SELECTED": "Selected", "SELECT_ALL": "Select All", diff --git a/public/app/main/apps/jscripty/i18n/es.json b/public/app/main/apps/jscripty/i18n/es.json index ea9b86a..80e50db 100644 --- a/public/app/main/apps/jscripty/i18n/es.json +++ b/public/app/main/apps/jscripty/i18n/es.json @@ -1,68 +1,68 @@ { "JSCRIPTY": { - "NAME": "Nombre", - "SEARCH_FOR_ANYONE": "Buscar a alguien", - "BACK": "Volver", - "SELECTED": "Seleccionado", - "SELECT_ALL": "Seleccionar todo", - "SELECT_NONE": "Seleccione Ninguno", - "DESCRIPTION": "Descripción", + "HELP": { + "ENABLEUNCOMPLETESAVE": "Permitir guardar la sesión de agente incluso si la encuesta no está completa", + "NAME": "Solo se admiten números, letras y caracteres específicos (._)" + }, "ERRORS": { - "NAME_REQUIRED": "El nombre es obligatorio", - "PROJECT_REQUIRED": "El proyecto es obligatorio", - "FIELD_REQUIRED": "El campo es obligatorio", - "NAME_MUST_VALID_PATTERN": "El nombre debe estar escrito en un formato válido" + "FIELD_REQUIRED": "Campo obligatorio", + "NAME_MUST_VALID_PATTERN": "Formato erróneo", + "NAME_REQUIRED": "Campo obligatorio", + "PROJECT_REQUIRED": "Campo obligatorio" }, - "SAVE": "Guardar", - "PROJECTS": "Proyectos", "ADD_PROJECT": "Agregar proyecto", - "EDIT_PROJECT": "Editar proyecto", - "DELETE_PROJECT": "Eliminar proyecto", - "JSCRIPTY": "Jscripty", - "ID": "Id", - "PROJECT": "Proyecto", + "ALL_SURVEY_DATA_WILL_BE_LOST": "¡Todas las respuestas de la encuesta se perderán!", + "ANSWER": "Responder", + "ANSWERS": "Respuestas", + "BACK": "Espalda", + "BUILDER": "Constructor", + "CALLERIDNUM": "Número de llamada", + "CLONE_PROJECT": "Proyecto Clon", + "COMPLETE": "Completar", "CREATED_AT": "Creado en", - "NEW_PROJECT": "Nuevo proyecto", + "DELETE_PROJECT": "Eliminar proyecto", + "DELETE_SESSION": "Eliminar sesión", + "DESCRIPTION": "Descripción", + "DO_YOU_WANT_TO_RESET_SESSION": "¿Quieres restablecer la sesión?", "EDIT": "Editar", - "SETTINGS": "Configuración", + "EDIT_PROJECT": "Editar proyecto", + "ENABLEUNCOMPLETESAVE": "Habilitar el guardado incompleto", + "ENDTIME": "Hora de finalización", + "EXPORT_TO_CSV": "Exportar a CSV", "GENERAL": "General", - "BUILDER": "Builder", - "PREVIEW": "Vista previa", + "ID": "Id", + "JSCRIPTY": "Jscripty", + "JSCRIPTYSESSIONS": "Sesiones de proyectos", + "MEMBERNAME": "Nombre de miembro", + "NAME": "Nombre", + "NEW_PROJECT": "Nuevo proyecto", + "NO": "No", + "NO_ANSWERS_AVAILABLE": "No hay respuestas disponibles", + "NO_RESULTS_AVAILABLE": "No hay resultados disponibles", + "NO_SESSION_AVAILABLE": "No hay sesiones disponibles", + "OF": "de", "OPEN_CONTACT": "Contacto abierto", - "HELP": { - "NAME": "Sólo los números, letras y caracteres específicos (_) son compatibles.", - "ENABLEUNCOMPLETESAVE": "Permite guardar la sesión del agente, incluso si la encuesta no está completa" - }, "PAGE": "Página", - "ROWSPERPAGE": "Filas por página.", - "OF": "De", - "JSCRIPTYSESSIONS": "Sesiones de proyecto", + "PREVIEW": "Avance", + "PROJECT": "Proyecto", + "PROJECTS": "Proyectos", + "PROJECT_NOT_AVAILABLE": "El proyecto no está disponible. Por favor contacte al administrador", + "RESET_SESSION": "Restablecer sesión", + "ROWSPERPAGE": "Filas por página", + "SAVE": "Salvar", + "SEARCH_FOR_ANYONE": "Busque a alguien", + "SELECTED": "Seleccionado", + "SELECT_ALL": "Seleccionar todo", + "SELECT_NONE": "Seleccione Ninguno", "SESSIONS": "Sesiones", - "STARTTIME": "Hora de inicio", - "ENDTIME": "Hora de finalización", - "MEMBERNAME": "Nombre de miembro.", - "CALLERIDNUM": "Número llamante", - "NO_SESSION_AVAILABLE": "No hay sesiones disponibles", - "SESSION_RESULTS": "Los resultados de la sesión", + "SESSIONS_PROJECT": "Ir a Sesiones", + "SESSION_RESULTS": "Resultados de la sesión", + "SETTINGS": "Configuraciones", "SHOW_QUESTIONS_SESSION": "Mostrar los resultados de la sesión", - "ANSWERS": "Respuestas", - "NO_RESULTS_AVAILABLE": "No hay resultados disponibles", - "TOTAL": "Total", - "ANSWER": "Respuesta", - "EXPORT_TO_CSV": "Exportar a CSV", - "NO_ANSWERS_AVAILABLE": "No hay respuestas disponibles", - "DELETE_SESSION": "Eliminar sesiones", - "RESET_SESSION": "Restablecer la sesión", - "YES": "Sí", - "NO": "No hay", - "DO_YOU_WANT_TO_RESET_SESSION": "¿Desea restablecer la sesión?", - "ALL_SURVEY_DATA_WILL_BE_LOST": "Todas las respuestas de una encuesta se perderán!", - "ENABLEUNCOMPLETESAVE": "Permitir guardar incompleto", + "STARTTIME": "Hora de inicio", "SUBMIT": "Enviar", - "PROJECT_NOT_AVAILABLE": "Project no está disponible. Póngase en contacto con el administrador", - "COMPLETE": "Completar", - "CLONE_PROJECT": "Proyecto Clon", - "SESSIONS_PROJECT": "Ir a Sesiones" + "TOTAL": "Total", + "YES": "Sí" }, "mwForm": { "form": { diff --git a/public/app/main/apps/jscripty/i18n/ja.json b/public/app/main/apps/jscripty/i18n/ja.json index 15558ef..26d2b07 100644 --- a/public/app/main/apps/jscripty/i18n/ja.json +++ b/public/app/main/apps/jscripty/i18n/ja.json @@ -1,68 +1,68 @@ { "JSCRIPTY": { - "NAME": "名", - "SEARCH_FOR_ANYONE": "だれでものための検索", - "BACK": "背面", - "SELECTED": "選択した", - "SELECT_ALL": "すべてを選択します", - "SELECT_NONE": "「なし」を選択します。", - "DESCRIPTION": "説明", "ERRORS": { - "NAME_REQUIRED": "名前は必須です", - "PROJECT_REQUIRED": "プロジェクトが必要です", - "FIELD_REQUIRED": "このフィールドは必須です", - "NAME_MUST_VALID_PATTERN": "名前は、有効な形式で記述する必要があります" + "FIELD_REQUIRED": "必須フィールド", + "NAME_MUST_VALID_PATTERN": "間違ったフォーマット", + "NAME_REQUIRED": "必須フィールド", + "PROJECT_REQUIRED": "必須フィールド" }, - "SAVE": "保存", - "PROJECTS": "プロジェクト", - "ADD_PROJECT": "プロジェクトを追加します。", - "EDIT_PROJECT": "プロジェクトを編集", + "HELP": { + "ENABLEUNCOMPLETESAVE": "アンケートが完了していなくてもエージェントセッションを保存できるようにする", + "NAME": "数字、文字、および特定の文字(._)のみがサポートされています" + }, + "ADD_PROJECT": "プロジェクトを追加", + "ALL_SURVEY_DATA_WILL_BE_LOST": "すべての調査回答は失われます!", + "ANSWER": "回答", + "ANSWERS": "アンサー", + "BACK": "バック", + "BUILDER": "ビルダー", + "CALLERIDNUM": "発信者番号", + "CLONE_PROJECT": "クローンプロジェクト", + "COMPLETE": "コンプリート", + "CREATED_AT": "作成者:", "DELETE_PROJECT": "プロジェクトを削除する", + "DELETE_SESSION": "セッションの削除", + "DESCRIPTION": "説明", + "DO_YOU_WANT_TO_RESET_SESSION": "セッションをリセットしますか?", + "EDIT": "編集", + "EDIT_PROJECT": "プロジェクトを編集する", + "ENABLEUNCOMPLETESAVE": "不完全な保存を有効にする", + "ENDTIME": "終了時間", + "EXPORT_TO_CSV": "CSVにエクスポート", + "GENERAL": "一般", + "ID": "イド", "JSCRIPTY": "Jscripty", - "ID": "Id", - "PROJECT": "プロジェクト", - "CREATED_AT": "で作成された", + "JSCRIPTYSESSIONS": "プロジェクトセッション", + "MEMBERNAME": "メンバー名", + "NAME": "名", "NEW_PROJECT": "新しいプロジェクト", - "EDIT": "編集", - "SETTINGS": "の設定", - "GENERAL": "一般的な", - "BUILDER": "Builder", - "PREVIEW": "プレビュー", + "NO": "いいえ", + "NO_ANSWERS_AVAILABLE": "回答がありません", + "NO_RESULTS_AVAILABLE": "結果がありません", + "NO_SESSION_AVAILABLE": "利用可能なセッションはありません", + "OF": "の", "OPEN_CONTACT": "連絡先を開く", - "HELP": { - "NAME": "数字、文字、およびのみ特定の文字 ( 。 ) はサポートされています", - "ENABLEUNCOMPLETESAVE": "さらに、調査が完了していない場合は、エージェントのセッションを保存できます。" - }, "PAGE": "ページ", + "PREVIEW": "プレビュー", + "PROJECT": "プロジェクト", + "PROJECTS": "プロジェクト", + "PROJECT_NOT_AVAILABLE": "プロジェクトは利用できません。管理者に連絡してください", + "RESET_SESSION": "リセットセッション", "ROWSPERPAGE": "ページあたりの行数", - "OF": "の", - "JSCRIPTYSESSIONS": "プロジェクトのセッション", + "SAVE": "セーブ", + "SEARCH_FOR_ANYONE": "サーチ", + "SELECTED": "選択された", + "SELECT_ALL": "すべて選択", + "SELECT_NONE": "選択なし", "SESSIONS": "セッション", - "STARTTIME": "開始時間", - "ENDTIME": "終了時間", - "MEMBERNAME": "メンバー名", - "CALLERIDNUM": "発信者番号", - "NO_SESSION_AVAILABLE": "セッションはご利用いただけません。", - "SESSION_RESULTS": "セッションの結果", - "SHOW_QUESTIONS_SESSION": "表示セッションの結果", - "ANSWERS": "回答", - "NO_RESULTS_AVAILABLE": "利用可能な検索結果がありません", + "SESSIONS_PROJECT": "セッションに行く", + "SESSION_RESULTS": "セッション結果", + "SETTINGS": "設定", + "SHOW_QUESTIONS_SESSION": "セッション結果を表示する", + "STARTTIME": "始まる時間", + "SUBMIT": "提出する", "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": "完全な", - "CLONE_PROJECT": "クローンプロジェクト", - "SESSIONS_PROJECT": "セッションに行く" + "YES": "はい" }, "mwForm": { "form": { diff --git a/public/app/main/apps/mail/i18n/en.json b/public/app/main/apps/mail/i18n/en.json index c54291d..b25558d 100644 --- a/public/app/main/apps/mail/i18n/en.json +++ b/public/app/main/apps/mail/i18n/en.json @@ -100,7 +100,7 @@ "ATTACHMENTS": "Attachments", "NAME": "Name", "MAILQUEUES": "Email Queues", - "SEARCH_FOR_ANYONE": "Search for anyone", + "SEARCH_FOR_ANYONE": "Search", "STRATEGY": "Strategy", "ERRORS": { "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "The value must be less than or equal to", diff --git a/public/app/main/apps/mail/i18n/es.json b/public/app/main/apps/mail/i18n/es.json index 55f330f..519a8f2 100644 --- a/public/app/main/apps/mail/i18n/es.json +++ b/public/app/main/apps/mail/i18n/es.json @@ -1,285 +1,285 @@ { "MAIL": { - "TEXT": "Texto", - "TIMES": "Número de veces por la interacción", - "EDIT_AUTOREPLY": "Editar la respuesta automática", - "AUTOREPLY": "La respuesta automática", - "SHOW_AUTOREPLY": "Mostrar la respuesta automática", - "SHOW_DETAILS": "Mostrar detalles", - "HIDE_DETAILS": "Ocultar detalles", - "TO": "A", - "FROM": "Desde", - "DATE": "Fecha", - "CC": "Cc", - "REPLY": "Responder", - "REPLY_ALL": "Responder a todos", - "FORWARD": "Adelante", - "SUBJECT": "Asunto", - "BCC": "Bcc", - "SEND": "Enviar", - "ATTACHMENT": "Archivo adjunto", - "ATTACHMENTS": "Archivos adjuntos", - "NAME": "Nombre", - "MAILQUEUES": "Colas de correo", - "SEARCH_FOR_ANYONE": "Buscar a alguien", - "STRATEGY": "Estrategia", + "HELP": { + "FONT_FAMILY": "Familia de fuentes predeterminadas", + "FONT_SIZE": "Tamaño de fuente predeterminado", + "MARK_AS_UNREAD": "Activar / desactivar agente para marcar como no leído el último mensaje de una interacción", + "NAME": "Solo se admiten números, letras y caracteres específicos (._)", + "PASSWORD": "Contraseña utilizada para autenticación", + "SECURE": "Si es verdadero, la conexión usará TLS cuando se conecte al servidor", + "USERNAME": "Nombre de usuario utilizado para autenticación" + }, "ERRORS": { - "TEXT_REQUIRED": "El texto del campo es obligatorio", - "NAME_REQUIRED": "El nombre es obligatorio", - "AGENT_TIMEOUT_REQUIRED": "El agente se requiere tiempo de espera", - "EMAIL_ADDRESS_REQUIRED": "Es necesario introducir la dirección de correo electrónico", - "EMAIL_ADDRESS_MUST_VALID": "La dirección de correo electrónico deben escribirse en un formato válido", - "HOST_REQUIRED": "El Host es obligatorio", - "USERNAME_REQUIRED": "El nombre de usuario es obligatorio", - "PORT_REQUIRED": "El puerto es necesario", - "CONNTIMEOUT_REQUIRED": "El tiempo de espera de conexión es necesaria", - "AUTHTIMEOUT_REQUIRED": "El tiempo de espera de autenticación es necesaria", - "ACCEPTURL_MUST_VALID_URL": "Aceptar la URL debe estar escrito en un formato válido", - "TIMEOUT_REQUIRED": "El tiempo de espera es necesario", - "REJECTURL_MUST_VALID_URL": "Rechazar la URL debe estar escrito en un formato válido", - "CLOSEURL_MUST_VALID_URL": "La estrecha URL debe ser escrito en un formato válido", - "AGENT_REQUIRED": "El agente es necesaria", - "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El tiempo de espera debe ser mayor o igual a", - "DISPOSITION_REQUIRED": "La disposición es obligatoria", - "CONDITION_REQUIRED": "La condición es necesaria", - "TRUEPRIORITY_REQUIRED": "La verdadera prioridad es necesaria", - "FALSEPRIORITY_REQUIRED": "La prioridad es necesaria FALSO", - "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La verdadera prioridad debe ser mayor o igual a", - "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La falsa prioridad debe ser mayor o igual a", - "PRIORITY_REQUIRED": "La prioridad es necesaria", - "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La prioridad debe ser mayor o igual a", - "QUEUE_REQUIRED": "La cola es obligatorio", - "LIST_REQUIRED": "La lista es obligatorio", - "PASSWORD_REQUIRED": "Es necesaria la contraseña", - "SERVICE_REQUIRED": "El servicio es necesario", - "IMAP_HOST_REQUIRED": "IMAP requiere de host", - "IMAP_PORT_REQUIRED": "El puerto IMAP es obligatorio", - "SMTP_HOST_REQUIRED": "Se necesita el host SMTP", - "SMTP_PORT_REQUIRED": "El puerto SMTP es necesario", - "CONFIRM_NOT_MATCH": "Las contraseñas no coinciden", - "KEY_MAX_LENGTH": "Clave debe tener una longitud máxima igual a {{max}}", - "KEY_REQUIRED": "La clave es necesaria", - "TEXT_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", - "VALUE_REQUIRED": "Campo obligatorio", + "ACCEPTURL_MUST_VALID_URL": "Formato erróneo", + "AGENT_REQUIRED": "Campo obligatorio", + "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "AGENT_TIMEOUT_REQUIRED": "Campo obligatorio", + "AUTHTIMEOUT_REQUIRED": "Campo obligatorio", + "CLOSEURL_MUST_VALID_URL": "Formato erróneo", + "COMMAND_REQUIRED": "Campo obligatorio", + "CONDITION_REQUIRED": "Campo obligatorio", + "CONFIRM_NOT_MATCH": "Las contraseñas insertadas no coinciden", + "CONNTIMEOUT_REQUIRED": "Campo obligatorio", + "DISPOSITION_REQUIRED": "Campo obligatorio", + "EMAIL_ADDRESS_MUST_VALID": "Formato erróneo", + "EMAIL_ADDRESS_REQUIRED": "Campo obligatorio", + "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "FALSEPRIORITY_REQUIRED": "Campo obligatorio", "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que", "FONT_SIZE_REQUIRED": "Campo obligatorio", - "COMMAND_REQUIRED": "Campo obligatorio", - "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "HOST_REQUIRED": "Campo obligatorio", + "IMAP_HOST_REQUIRED": "Campo obligatorio", + "IMAP_PORT_REQUIRED": "Campo obligatorio", + "KEY_MAX_LENGTH": "La clave debe tener una longitud máxima igual a {{max}}", + "KEY_REQUIRED": "Campo obligatorio", + "LIST_REQUIRED": "Campo obligatorio", "NAME_MUST_VALID_PATTERN": "Formato erróneo", - "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que" + "NAME_REQUIRED": "Campo obligatorio", + "PASSWORD_REQUIRED": "Campo obligatorio", + "PORT_REQUIRED": "Campo obligatorio", + "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "PRIORITY_REQUIRED": "Campo obligatorio", + "QUEUE_REQUIRED": "Campo obligatorio", + "REJECTURL_MUST_VALID_URL": "Formato erróneo", + "SERVICE_REQUIRED": "Campo obligatorio", + "SMTP_HOST_REQUIRED": "Campo obligatorio", + "SMTP_PORT_REQUIRED": "Campo obligatorio", + "TEXT_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", + "TEXT_REQUIRED": "Campo obligatorio", + "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que", + "TIMEOUT_REQUIRED": "Campo obligatorio", + "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "TRUEPRIORITY_REQUIRED": "Campo obligatorio", + "USERNAME_REQUIRED": "Campo obligatorio", + "VALUE_REQUIRED": "Campo obligatorio" }, - "AGENT_TIMEOUT": "Tiempo de espera del agente", - "DESCRIPTION": "Descripción", - "ADD_MAILQUEUE": "Añadir la cola de correo", - "EDIT_MAILQUEUE": "Editar el correo en la cola", - "DELETE_MAILQUEUE": "Eliminar el correo en la cola", - "SETTINGS": "Configuración", - "GENERAL": "General", - "SAVE": "Guardar", - "MAILACCOUNTS": "Cuentas de correo", - "EMAIL_ADDRESS": "Dirección de correo electrónico", - "ADD_MAILACCOUNT": "Agregar cuenta de correo electrónico", - "EDIT_MAILACCOUNT": "Editar cuentas de correo", - "DELETE_MAILACCOUNT": "Eliminar cuentas de correo", - "DISPOSITIONS": "Disposiciones", - "WEBHOOKS": "WebHooks", - "ACTIONS": "Acciones", - "OTHERS": "Otros", - "LIST": "Lista", - "TEMPLATE": "Plantilla", - "FIDELITY": "Fidelidad", - "SERVICE": "Servicio", - "CREATED_AT": "Creado en", "ACCEPT": "Aceptar", + "ACCEPTED": "Aceptado", "ACCEPTMETHOD": "Aceptar el método", "ACCEPTURL": "Aceptar URL", - "REJECT": "Rechazar", - "REJECTMETHOD": "Método de rechazo", - "REJECTURL": "Rechazar URL", - "CLOSE": "Cerrar", - "CLOSEMETHOD": "Método Close", - "CLOSEURL": "Cerrar URL", - "WHITELABEL": "Etiqueta blanca", - "SIGNATURE": "La firma", - "IMAP": "IMAP", - "HOST": "Host", - "USERNAME": "Nombre de usuario", - "PORT": "Puerto", - "MAILBOX": "Buzón", - "FILTER": "Filtrar", - "CONNTIMEOUT": "Connection Timeout [s]", - "AUTHTIMEOUT": "Tiempo de espera de autenticación [s]", - "DELETE": "Eliminar mensajes del servidor", - "SSL": "SSL", - "KEEPALIVE": "Keepalive", - "POLLING": "El sondeo", - "SMTP": "SMTP", - "SELECTED": "Seleccionado", - "SELECT_ALL": "Seleccionar todo", - "SELECT_NONE": "Seleccione Ninguno", - "BACK": "Volver", - "MAIL": "Mail", - "ID": "Id", - "TIMEOUT": "Timeout", - "PASSWORD": "Contraseña", - "NO_MAILDISPOSITION_AVAILABLE": "No hay disposiciones de correo disponibles", - "ADD_MAILDISPOSITION": "Añadir la disposición de correo", - "NEW_MAILDISPOSITION": "Nueva disposición de correo", - "EDIT_MAILDISPOSITION": "Modificar la disposición de correo", - "DELETE_MAILDISPOSITION": "Eliminar correo disposicion", - "MAILDISPOSITIONS": "Disposiciones de correo", - "NEW_MAILQUEUE": "Nueva cola de correo", - "NEW_MAILACCOUNT": "Nueva cuenta de correo", - "NO_AVAILABLE_INFO": "No hay información disponible", - "ALL_TEAMS": "Todos los equipos", - "SELECTED_TEAMS": "Los equipos seleccionados", - "HELP": { - "NAME": "Sólo los números, letras y caracteres específicos (_) son compatibles.", - "USERNAME": "Nombre de usuario utilizado para la autenticación", - "PASSWORD": "Contraseña utilizada para la autenticación", - "SECURE": "Si el valor es true usará la conexión TLS cuando se conecta a un servidor", - "FONT_FAMILY": "Familia de fuentes predeterminadas", - "FONT_SIZE": "Tamaño de fuente predeterminado", - "MARK_AS_UNREAD": "Activar / desactivar agente para marcar como no leído el último mensaje de una interacción" - }, - "PAGE": "Página", - "ROWSPERPAGE": "Filas por página.", - "OF": "De", - "TEAMADD_MAILQUEUE": "Agregar equipo a cola de chat", - "AGENTADD_MAILQUEUE": "Agregar agente de cola de chat", + "ACCOUNT": "Cuenta", + "ACCOUNTS": "Cuentas", + "ACTIONS": "Comportamiento", + "ACTIVE": "Activo", + "ADD_MAILACCOUNT": "Agregar cuenta de correo electrónico", + "ADD_MAILCANNEDANSWER": "Agregar respuesta enlatada", + "ADD_MAILDISPOSITION": "Agregar disposición de correo electrónico", + "ADD_MAILQUEUE": "Agregar cola de correo electrónico", + "ADD_MAILSUBSTATUS": "Agregar sub estado", + "ADD_NOTE": "Añadir la nota", + "AGENT": "Agente", + "AGENTADD_MAILQUEUE": "Agregar agente a cola de correo electrónico", + "AGENTADD_QUEUE": "Agregar agente a la cola de correo electrónico", + "AGENTS": "Agentes", + "AGENTSADD_QUEUE": "Agregar agentes a la cola de correo electrónico", + "AGENT_TIMEOUT": "Tiempo de espera del agente", + "ALL": "Todas", "ALL_AGENTS": "Todos los agentes", - "SELECTED_AGENTS": "Los agentes seleccionados", - "AGENT": "Agent", - "EDIT_AGENT": "Editar Agent", - "EDIT_CLOSE": "Editar Cerrar", + "ALL_TEAMS": "Todos los equipos", + "ATTACHMENT": "Adjunto archivo", + "ATTACHMENTS": "Archivos adjuntos", + "AUTHENTICATION": "Autenticación", + "AUTHTIMEOUT": "Tiempo de espera de autenticación [seg]", + "AUTOREPLY": "Respuesta automática", + "BACK": "Espalda", + "BCC": "Bcc", + "BUSY": "Ocupado", + "CANNEDANSWERS": "Anwsers conservados", + "CANNED_ANSWER_NOT_FOUND": "No se encontraron respuestas enlatadas", + "CANNED_ANSWER_SEARCH": "Ingrese un texto para buscar una respuesta enlatada", + "CAPACITY": "Capacidad", + "CC": "CC", + "CHAT": "Chat", + "CLOSE": "Cerca", + "CLOSED": "Cerrado", + "CLOSEDAT": "Cerrado en", + "CLOSEMETHOD": "Método cercano", + "CLOSEURL": "Cerrar URL", + "COMMAND": "Mando", + "CONDITION": "Condición", + "CONFIRM_PASSWORD": "Confirmar contraseña", + "CONNECTED": "Conectado", + "CONNTIMEOUT": "Tiempo de espera de conexión [seg]", + "CONTACT": "Contacto", + "CREATED_AT": "Creado en", + "DATE": "Fecha", + "DEFAULT_PAUSE": "Pausa por defecto", + "DELETE": "Eliminar correo electrónico del servidor", + "DELETE_INTERACTION": "Eliminar interacción", + "DELETE_MAILACCOUNT": "Eliminar cuentas de correo electrónico", + "DELETE_MAILCANNEDANSWER": "Eliminar la respuesta almacenada", + "DELETE_MAILDISPOSITION": "Eliminar la disposición del correo electrónico", + "DELETE_MAILQUEUE": "Eliminar cola de correo electrónico", + "DELETE_MAILSUBSTATUS": "Borrar", + "DESCRIPTION": "Descripción", + "DISABLED": "Discapacitado", "DISPOSITION": "Disposición", - "GOTOIF": "GotoIf", + "DISPOSITIONS": "Plan", + "EDIT_ACCOUNT": "Editar cuenta", + "EDIT_AGENT": "Editar agente", + "EDIT_AUTOREPLY": "Editar respuesta automática", + "EDIT_CLOSE": "Editar Cerrar", "EDIT_GOTOIF": "Editar GotoIf", - "CONDITION": "Condición", - "TRUEPRIORITY": "True Priority", - "FALSEPRIORITY": "Prioridad falsa", - "GOTOP": "GotoP", "EDIT_GOTOP": "Editar GotoP", - "PRIORITY": "Prioridad", - "NOOP": "Noop", + "EDIT_MAILACCOUNT": "Editar cuenta de correo electrónico", + "EDIT_MAILCANNEDANSWER": "Editar respuesta enlatada", + "EDIT_MAILDISPOSITION": "Editar la disposición del correo electrónico", + "EDIT_MAILQUEUE": "Editar cola de correo electrónico", + "EDIT_MAILSUBSTATUS": "Editar", "EDIT_NOOP": "Editar Noop", - "VALUE": "Valor", - "QUEUE": "Cola", "EDIT_QUEUE": "Editar cola", - "INTERACTIONS": "Interacciones", - "STARTEDAT": "Comenzó a", - "CONTACT": "Contacto", - "CLOSEDAT": "Cerrado a", - "NOTES": "Notas", - "NO_INTERACTION_AVAILABLE": "No existen interacciones disponibles", - "ACTIVE": "Active", - "SECURE": "Secure", - "AUTHENTICATION": "Autentificación", - "SMTP_HOST": "El host SMTP", - "SMTP_PORT": "El puerto SMTP", - "IMAP_HOST": "Host IMAP", - "IMAP_PORT": "Puerto IMAP", - "CONFIRM_PASSWORD": "Confirmar contraseña", - "SELECT_STATUS": "Seleccione Estado", - "OPENED": "Abrir", - "CLOSED": "Cerrado", - "ALL": "Todos", - "SELECT_ACCOUNT": "Seleccione Cuenta", - "STATUS": "El estado", - "ACCOUNT": "Cuenta", - "OPEN": "Abrir", - "KEY": "Key", - "SMTPSERVICE": "Servicio SMTP", - "UNPAUSE": "Pausa final", - "DEFAULT_PAUSE": "Pausa predeterminada", - "LOGOUT": "Cerrar sesión", - "AGENTADD_QUEUE": "Agregar agente de cola de correo", - "VOICE": "Voz", - "CHAT": "Chat", - "SMS": "Sms", - "OPENCHANNEL": "Canal abierto", + "EDIT_SYSTEM": "Editar sistema", + "EMAIL_ADDRESS": "Dirección de correo electrónico", + "ERROR": "Error", + "FALSEPRIORITY": "Falsa prioridad", "FAX": "Fax", - "REALTIME": "Realtime", - "AGENTS": "Los agentes", - "QUEUES": "Colas", - "ACCOUNTS": "Cuentas", + "FIDELITY": "Fidelidad", + "FILTER": "Filtrar", + "FONT_FAMILY": "Familia tipográfica", + "FONT_SIZE": "Tamaño de fuente", + "FORWARD": "Adelante", + "FROM": "De", "FULLNAME": "Nombre completo", - "INTERNAL": "Interno", - "PHONE_STATE": "Estado del teléfono", - "PHONE_STATUS": "Estado del teléfono", - "PAUSE": "Pausa", - "LOGGED_IN": "Iniciar sesión", - "PAUSED": "En pausa", - "READY": "Listo", - "WAITING": "Esperando", - "TOTAL": "Total", - "IN": "En", - "OUT": "Fuera", - "IMAP_STATUS": "Estado de IMAP", - "SMTP_STATUS": "El estado SMTP", - "DISABLED": "Desactivado", - "CONNECTED": "Conectado", - "NEVER_VERIFIED": "Nunca verificado", - "ERROR": "Error", - "EDIT_ACCOUNT": "Editar Cuenta", - "VERIFY_SMTP": "Comprobar que SMTP", - "VERIFIED": "Verificado", - "VERIFYSMTP_MAILACCOUNT": "Comprobar que SMTP", + "GENERAL": "General", + "GOTOIF": "Ir aIf", + "GOTOP": "Ve arriba", "GOTOREALTIME_MAILACCOUNT": "Ir a la cuenta de correo electrónico en tiempo real", + "GOTOREALTIME_MAILQUEUE": "Ir a cola de correo en tiempo real", "GOTO_MAILACCOUNT": "Ir a la cuenta de correo electrónico en tiempo real", - "UNKNOWN": "Desconocida", - "UNREGISTERED": "Unregistered", - "UNAVAILABLE": "No disponible", - "NOT_INUSE": "No en uso", - "REACHABLE": "Accesible", + "HIDE_DETAILS": "Ocultar detalles", + "HOST": "Anfitrión", + "ID": "Id", + "IDLE": "Ocioso", + "IMAP": "IMAP", + "IMAP_HOST": "Host IMAP", + "IMAP_PORT": "Puerto IMAP", + "IMAP_STATUS": "Estado de IMAP", + "IN": "En", + "INFO": "Información", + "INTERACTIONS": "Interacciones", + "INTERACTIONS_MAILACCOUNT": "Ir a Interacciones", + "INTERNAL": "Interno", "IN_USE": "En uso", - "AGENTSADD_QUEUE": "Añadir agentes a la cola de correo", - "INFO": "Info", - "NO_AGENT_ONLINE": "Ningún agente Online", - "GOTOREALTIME_MAILQUEUE": "Vaya a la cola de correo en tiempo real", - "PARTIALPAUSE": "Pausa Parital", - "BUSY": "Ocupada", - "TIMER": "Timer", - "IDLE": "Inactivo", - "CAPACITY": "Capacidad", - "SPYINTERACTION": "Spy", - "ADD_NOTE": "Agregar nota", - "NOTE": "Nota", - "TAGS": "Tags", - "INTERACTIONS_MAILACCOUNT": "Ir a interacciones", - "REFRESH_INTERACTIONS": "Interacciones de actualización", - "PENDING": "Pendiente", - "SEND_AS_PENDING": "Enviar como pendiente", - "SEND_AND_CLOSE": "Enviar y cerrar", - "CANNED_ANSWER_NOT_FOUND": "No se encontraron respuestas enlatadas", - "CANNED_ANSWER_SEARCH": "Introduzca un texto para buscar una respuesta enlatada", - "CANNEDANSWERS": "Anwsers conservados", + "KEEPALIVE": "Mantener viva", + "KEY": "Llave", + "LIST": "Lista", + "LOGGED_IN": "Conectado", + "LOGOUT": "Cerrar sesión", + "MAIL": "Email", + "MAILACCOUNTS": "Cuentas de correo electrónico", + "MAILBOX": "Buzón", "MAILCANNEDANSWERS": "Anwsers conservados", - "NO_MAILCANNEDANSWER_AVAILABLE": "No hay respuestas enlatadas disponibles", - "NEW_MAILCANNEDANSWER": "Nueva respuesta enlatada", - "ADD_MAILCANNEDANSWER": "Agregar respuesta enlatada", - "EDIT_MAILCANNEDANSWER": "Editar", - "DELETE_MAILCANNEDANSWER": "Borrar", - "SHOW_ORIGINAL_MESSAGE": "Mostrar mensaje original", - "DELETE_INTERACTION": "Eliminar interacción", - "ACCEPTED": "Aceptado", - "FONT_FAMILY": "Familia tipográfica", - "FONT_SIZE": "Tamaño de fuente", - "MARK_AS_UNREAD": "marcar como no leído", - "ADD_MAILSUBSTATUS": "Agregar sub estado", - "DELETE_MAILSUBSTATUS": "Borrar", - "EDIT_MAILSUBSTATUS": "Editar", + "MAILDISPOSITIONS": "Disposiciones de correo electrónico", + "MAILQUEUES": "Colas de correo electrónico", "MAILSUBSTATUSES": "Subestaciones de correo electrónico", + "MARK_AS_UNREAD": "marcar como no leído", + "NAME": "Nombre", + "NEVER_VERIFIED": "Nunca verificado", + "NEW_MAILACCOUNT": "Nueva cuenta de correo electrónico", + "NEW_MAILCANNEDANSWER": "Nueva respuesta enlatada", + "NEW_MAILDISPOSITION": "Nueva disposición de correo electrónico", + "NEW_MAILQUEUE": "Nueva cola de correo electrónico", "NEW_MAILSUBSTATUS": "Nuevo Sub Status", - "SEND_AS": "Enviar como", - "COMMAND": "Mando", - "EDIT_SYSTEM": "Editar sistema", - "SYSTEM": "Sistema", - "VARIABLE": "Variable", + "NOOP": "Noop", + "NOTE": "Nota", + "NOTES": "Notas", "NOTIFICATION": "Notificación", "NOTIFICATIONSHAKE": "Sacudir", "NOTIFICATIONSOUND": "Sonar", - "NOTIFICATIONTEMPLATE": "Modelo" + "NOTIFICATIONTEMPLATE": "Modelo", + "NOT_INUSE": "No esta en uso", + "NO_AGENT_ONLINE": "Sin agente en línea", + "NO_AVAILABLE_INFO": "No hay información disponible", + "NO_INTERACTION_AVAILABLE": "No hay interacciones disponibles", + "NO_MAILCANNEDANSWER_AVAILABLE": "No hay respuestas enlatadas disponibles", + "NO_MAILDISPOSITION_AVAILABLE": "No hay disposiciones de correo electrónico disponibles", + "OF": "de", + "OPEN": "Abierto", + "OPENCHANNEL": "Canal abierto", + "OPENED": "Abierto", + "OTHERS": "Otros", + "OUT": "Fuera", + "PAGE": "Página", + "PARTIALPAUSE": "Pausa Parcial", + "PASSWORD": "Contraseña", + "PAUSE": "Pausa", + "PAUSED": "Pausado", + "PENDING": "Pendiente", + "PHONE_STATE": "Estado del teléfono", + "PHONE_STATUS": "Estado del teléfono", + "POLLING": "Votación", + "PORT": "Puerto", + "PRIORITY": "Prioridad", + "QUEUE": "Cola", + "QUEUES": "Colas", + "REACHABLE": "Accesible", + "READY": "Listo", + "REALTIME": "Tiempo real", + "REFRESH_INTERACTIONS": "Actualizar interacciones", + "REJECT": "Rechazar", + "REJECTMETHOD": "Método de rechazo", + "REJECTURL": "Rechazar URL", + "REPLY": "Respuesta", + "REPLY_ALL": "Responder a todos", + "ROWSPERPAGE": "Filas por página", + "SAVE": "Salvar", + "SEARCH_FOR_ANYONE": "Busque a alguien", + "SECURE": "Seguro", + "SELECTED": "Seleccionado", + "SELECTED_AGENTS": "Agentes seleccionados", + "SELECTED_TEAMS": "Equipos seleccionados", + "SELECT_ACCOUNT": "Seleccionar cuenta", + "SELECT_ALL": "Seleccionar todo", + "SELECT_NONE": "Seleccione Ninguno", + "SELECT_STATUS": "Seleccionar estado", + "SEND": "Enviar", + "SEND_AND_CLOSE": "Enviar y Cerrar", + "SEND_AS": "Enviar como", + "SEND_AS_PENDING": "Enviar como Pendiente", + "SERVICE": "Servicio", + "SETTINGS": "Configuraciones", + "SHOW_AUTOREPLY": "Mostrar respuesta automática", + "SHOW_DETAILS": "Mostrar detalles", + "SHOW_ORIGINAL_MESSAGE": "Mostrar mensaje original", + "SIGNATURE": "Firma", + "SMS": "SMS", + "SMTP": "SMTP", + "SMTPSERVICE": "Servicio SMTP", + "SMTP_HOST": "Servidor SMTP", + "SMTP_PORT": "Puerto SMTP", + "SMTP_STATUS": "Estado de SMTP", + "SPYINTERACTION": "Espiar", + "SSL": "SSL", + "STARTEDAT": "Empezó a las", + "STATUS": "Estado", + "STRATEGY": "Estrategia", + "SUBJECT": "Tema", + "SYSTEM": "Sistema", + "TAGS": "Etiquetas", + "TEAMADD_MAILQUEUE": "Agregar equipo a la cola de correo electrónico", + "TEMPLATE": "Modelo", + "TEXT": "Texto", + "TIMEOUT": "Se acabó el tiempo", + "TIMER": "Minutero", + "TIMES": "Cantidad de veces por interacción", + "TO": "A", + "TOTAL": "Total", + "TRUEPRIORITY": "Verdadera prioridad", + "UNAVAILABLE": "Indisponible", + "UNKNOWN": "Desconocido", + "UNPAUSE": "Fin de pausa", + "UNREGISTERED": "No registrado", + "USERNAME": "Nombre de usuario", + "VALUE": "Valor", + "VARIABLE": "Variable", + "VERIFIED": "Verificado", + "VERIFYSMTP_MAILACCOUNT": "Verificar SMTP", + "VERIFY_SMTP": "Verificar SMTP", + "VOICE": "Voz", + "WAITING": "Esperando", + "WEBHOOKS": "WebHooks", + "WHITELABEL": "Etiqueta blanca" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/ja.json b/public/app/main/apps/mail/i18n/ja.json index a3fca66..cc30771 100644 --- a/public/app/main/apps/mail/i18n/ja.json +++ b/public/app/main/apps/mail/i18n/ja.json @@ -1,285 +1,285 @@ { "MAIL": { - "TEXT": "テキスト", - "TIMES": "操作あたりの回数", - "EDIT_AUTOREPLY": "自動返信の編集", - "AUTOREPLY": "自動返信", - "SHOW_AUTOREPLY": "オートショーの返信", - "SHOW_DETAILS": "詳細を表示する", - "HIDE_DETAILS": "詳細の表示 / 非表示を切り替え", - "TO": "を", - "FROM": "から", - "DATE": "日付", - "CC": "Cc", - "REPLY": "返信", - "REPLY_ALL": "すべての返信", - "FORWARD": "フォワード", - "SUBJECT": "件名", - "BCC": "Bcc ï¼½", - "SEND": "送信します。", - "ATTACHMENT": "添付ファイル", - "ATTACHMENTS": "添付ファイル", - "NAME": "名", - "MAILQUEUES": "メールキューが", - "SEARCH_FOR_ANYONE": "だれでものための検索", - "STRATEGY": "戦略", "ERRORS": { - "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": "「同意します URL に有効な形式で記述する必要があります", - "TIMEOUT_REQUIRED": "タイムアウトは必須です", - "REJECTURL_MUST_VALID_URL": "拒否 URL に有効な形式で記述する必要があります", - "CLOSEURL_MUST_VALID_URL": "閉じる 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 ホストが必要です。", - "IMAP_PORT_REQUIRED": "IMAP ポートが必要です。", - "SMTP_HOST_REQUIRED": "SMTP ホストが必要です。", - "SMTP_PORT_REQUIRED": "SMTP ポートが必要です。", - "CONFIRM_NOT_MATCH": "パスワードは、ドンが一致し", - "KEY_MAX_LENGTH": "主な { 最大 } {0} に相当する最大の長さである必要があります。", - "KEY_REQUIRED": "キーが必要です。", - "TEXT_MAX_LENGTH": "値の最大長は{{max}}に等しくなければなりません", - "VALUE_REQUIRED": "必須フィールド", + "ACCEPTURL_MUST_VALID_URL": "間違ったフォーマット", + "AGENT_REQUIRED": "必須フィールド", + "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "AGENT_TIMEOUT_REQUIRED": "必須フィールド", + "AUTHTIMEOUT_REQUIRED": "必須フィールド", + "CLOSEURL_MUST_VALID_URL": "間違ったフォーマット", + "COMMAND_REQUIRED": "必須フィールド", + "CONDITION_REQUIRED": "必須フィールド", + "CONFIRM_NOT_MATCH": "挿入されたパスワードが一致しません", + "CONNTIMEOUT_REQUIRED": "必須フィールド", + "DISPOSITION_REQUIRED": "必須フィールド", + "EMAIL_ADDRESS_MUST_VALID": "間違ったフォーマット", + "EMAIL_ADDRESS_REQUIRED": "必須フィールド", + "FALSEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "FALSEPRIORITY_REQUIRED": "必須フィールド", "FONT_SIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", "FONT_SIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下にする必要があります", "FONT_SIZE_REQUIRED": "必須フィールド", - "COMMAND_REQUIRED": "必須フィールド", - "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "HOST_REQUIRED": "必須フィールド", + "IMAP_HOST_REQUIRED": "必須フィールド", + "IMAP_PORT_REQUIRED": "必須フィールド", + "KEY_MAX_LENGTH": "キーの長さは{{max}}", + "KEY_REQUIRED": "必須フィールド", + "LIST_REQUIRED": "必須フィールド", "NAME_MUST_VALID_PATTERN": "間違ったフォーマット", - "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下にする必要があります" + "NAME_REQUIRED": "必須フィールド", + "PASSWORD_REQUIRED": "必須フィールド", + "PORT_REQUIRED": "必須フィールド", + "PRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "PRIORITY_REQUIRED": "必須フィールド", + "QUEUE_REQUIRED": "必須フィールド", + "REJECTURL_MUST_VALID_URL": "間違ったフォーマット", + "SERVICE_REQUIRED": "必須フィールド", + "SMTP_HOST_REQUIRED": "必須フィールド", + "SMTP_PORT_REQUIRED": "必須フィールド", + "TEXT_MAX_LENGTH": "値の最大長は{{max}}に等しくなければなりません", + "TEXT_REQUIRED": "必須フィールド", + "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下にする必要があります", + "TIMEOUT_REQUIRED": "必須フィールド", + "TRUEPRIORITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "TRUEPRIORITY_REQUIRED": "必須フィールド", + "USERNAME_REQUIRED": "必須フィールド", + "VALUE_REQUIRED": "必須フィールド" }, - "AGENT_TIMEOUT": "エージェントのタイムアウト", - "DESCRIPTION": "説明", - "ADD_MAILQUEUE": "メールキューを追加します。", - "EDIT_MAILQUEUE": "編集メールキュー", - "DELETE_MAILQUEUE": "メールキューメールキューの削除", - "SETTINGS": "の設定", - "GENERAL": "一般的な", - "SAVE": "保存", - "MAILACCOUNTS": "メールアカウント", - "EMAIL_ADDRESS": "電子メールアドレス", - "ADD_MAILACCOUNT": "メールアカウントを追加します", - "EDIT_MAILACCOUNT": "編集するメールアカウント", - "DELETE_MAILACCOUNT": "メールアカウントを削除する", - "DISPOSITIONS": "ディスポジション", - "WEBHOOKS": "WebHooks", - "ACTIONS": "アクション", - "OTHERS": "他", - "LIST": "リスト", - "TEMPLATE": "テンプレート", - "FIDELITY": "忠実性", - "SERVICE": "サービス", - "CREATED_AT": "で作成された", - "ACCEPT": "受け入れる", - "ACCEPTMETHOD": "方法を受け入れる", - "ACCEPTURL": "URL を受け入れ", - "REJECT": "拒否", - "REJECTMETHOD": "拒否メソッド", - "REJECTURL": "拒否 URL", - "CLOSE": "閉じる", - "CLOSEMETHOD": "Close メソッド", - "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": "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": { - "NAME": "数字、文字、およびのみ特定の文字 ( 。 ) はサポートされています", - "USERNAME": "認証に使用するユーザ名", - "PASSWORD": "認証に使用するパスワード", - "SECURE": "サーバに接続する場合、接続は EAP-TLS を使用して、 true の場合", "FONT_FAMILY": "デフォルトフォントファミリ", "FONT_SIZE": "デフォルトのフォントサイズ", - "MARK_AS_UNREAD": "インタラクションの最後のメッセージを未読としてマークするエージェントの有効化/無効化" + "MARK_AS_UNREAD": "インタラクションの最後のメッセージを未読としてマークするエージェントの有効化/無効化", + "NAME": "数字、文字、および特定の文字(._)のみがサポートされています", + "PASSWORD": "認証に使用されるパスワード", + "SECURE": "trueの場合、接続はサーバーに接続するときにTLSを使用します", + "USERNAME": "認証に使用されるユーザー名" }, - "PAGE": "ページ", - "ROWSPERPAGE": "ページあたりの行数", - "OF": "の", - "TEAMADD_MAILQUEUE": "チームチャットキューに追加します。", - "AGENTADD_MAILQUEUE": "エージェントチャットキューに追加します。", - "ALL_AGENTS": "すべてのエージェント", - "SELECTED_AGENTS": "選択したエージェント", - "AGENT": "エージェント", - "EDIT_AGENT": "エージェントの編集", - "EDIT_CLOSE": "編集を閉じる", - "DISPOSITION": "廃棄", - "GOTOIF": "GotoIf", - "EDIT_GOTOIF": "GotoIf 編集", - "CONDITION": "条件", - "TRUEPRIORITY": "真の優先順位", - "FALSEPRIORITY": "偽の優先順位", - "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": "ステータス", + "ACCEPT": "同意する", + "ACCEPTED": "受け入れられた", + "ACCEPTMETHOD": "Acceptメソッド", + "ACCEPTURL": "URLを受け入れる", "ACCOUNT": "アカウント", - "OPEN": "オープン", - "KEY": "キー", - "SMTPSERVICE": "SMTP サービス", - "UNPAUSE": "最後の一時停止", - "DEFAULT_PAUSE": "デフォルトの一時停止", - "LOGOUT": "ログアウト", - "AGENTADD_QUEUE": "メールキューにエージェントを追加する", - "VOICE": "音声", - "CHAT": "チャット", - "SMS": "Sms", - "OPENCHANNEL": "チャネルを開いた", - "FAX": "ファクス", - "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": "リアルタイムのメールアカウントに移動します。", - "GOTO_MAILACCOUNT": "リアルタイムのメールアカウントに移動します。", - "UNKNOWN": "不明な", - "UNREGISTERED": "登録されていない", - "UNAVAILABLE": "使用できません。", - "NOT_INUSE": "使用されていません。", - "REACHABLE": "到達可能", - "IN_USE": "のを使用します。", - "AGENTSADD_QUEUE": "メールキューにエージェントを追加する", - "INFO": "情報", - "NO_AGENT_ONLINE": "エージェントのオンラインがありません", - "GOTOREALTIME_MAILQUEUE": "リアルタイムメールキューに移動します。", - "PARTIALPAUSE": "Parital の一時停止", + "ACTIONS": "行動", + "ACTIVE": "アクティブ", + "ADD_MAILACCOUNT": "メールアカウントを追加", + "ADD_MAILCANNEDANSWER": "缶詰の回答を追加", + "ADD_MAILDISPOSITION": "メールの処分を追加", + "ADD_MAILQUEUE": "メールキューを追加", + "ADD_MAILSUBSTATUS": "サブステータスを追加", + "ADD_NOTE": "メモを追加", + "AGENT": "エージェント", + "AGENTADD_MAILQUEUE": "メールキューにエージェントを追加する", + "AGENTADD_QUEUE": "メールキューにエージェントを追加する", + "AGENTS": "エージェント", + "AGENTSADD_QUEUE": "電子メールキューにエージェントを追加する", + "AGENT_TIMEOUT": "エージェントのタイムアウト", + "ALL": "すべて", + "ALL_AGENTS": "すべてのエージェント", + "ALL_TEAMS": "すべてのチーム", + "ATTACHMENT": "アタッチメント", + "ATTACHMENTS": "添付ファイル", + "AUTHENTICATION": "認証", + "AUTHTIMEOUT": "認証タイムアウト[秒]", + "AUTOREPLY": "自動返信", + "BACK": "バック", + "BCC": "Bcc", "BUSY": "忙しい", - "TIMER": "タイマー", - "IDLE": "アイドル", - "CAPACITY": "容量", - "SPYINTERACTION": "スパイ", - "ADD_NOTE": "メモの追加", - "NOTE": "注", - "TAGS": "タグ", - "INTERACTIONS_MAILACCOUNT": "相互作用に移動します。", - "REFRESH_INTERACTIONS": "リフレッシュの相互作用", - "PENDING": "保留中の", - "SEND_AS_PENDING": "保留として送信します。", - "SEND_AND_CLOSE": "送信して閉じる", - "CANNED_ANSWER_NOT_FOUND": "缶詰にされた答えが見つかりませんでした。", - "CANNED_ANSWER_SEARCH": "定型の回答を検索するには、テキストを入力します。", "CANNEDANSWERS": "缶詰アンサー", - "MAILCANNEDANSWERS": "缶詰アンサー", - "NO_MAILCANNEDANSWER_AVAILABLE": "缶詰の回答はありません", - "NEW_MAILCANNEDANSWER": "新しい缶詰アンサー", - "ADD_MAILCANNEDANSWER": "缶詰の回答を追加", - "EDIT_MAILCANNEDANSWER": "編集", - "DELETE_MAILCANNEDANSWER": "削除", - "SHOW_ORIGINAL_MESSAGE": "元のメッセージを表示", + "CANNED_ANSWER_NOT_FOUND": "缶詰の回答は見つかりませんでした", + "CANNED_ANSWER_SEARCH": "缶詰回答を検索するためのテキストを入力してください", + "CAPACITY": "容量", + "CC": "CC", + "CHAT": "チャット", + "CLOSE": "閉じる", + "CLOSED": "閉まっている", + "CLOSEDAT": "休館日", + "CLOSEMETHOD": "Closeメソッド", + "CLOSEURL": "URLを閉じる", + "COMMAND": "コマンド", + "CONDITION": "調子", + "CONFIRM_PASSWORD": "パスワードを認証する", + "CONNECTED": "接続済み", + "CONNTIMEOUT": "接続タイムアウト[秒]", + "CONTACT": "接触", + "CREATED_AT": "作成者:", + "DATE": "日付", + "DEFAULT_PAUSE": "デフォルトの一時停止", + "DELETE": "サーバーからの電子メールの削除", "DELETE_INTERACTION": "インタラクションの削除", - "ACCEPTED": "受け入れられた", - "FONT_FAMILY": "フォントファミリー", - "FONT_SIZE": "フォントサイズ", - "MARK_AS_UNREAD": "未読としてマーク", - "ADD_MAILSUBSTATUS": "サブステータスを追加", + "DELETE_MAILACCOUNT": "メールアカウントの削除", + "DELETE_MAILCANNEDANSWER": "缶詰の回答を削除する", + "DELETE_MAILDISPOSITION": "電子メールの処分を削除する", + "DELETE_MAILQUEUE": "電子メールキューを削除する", "DELETE_MAILSUBSTATUS": "削除", + "DESCRIPTION": "説明", + "DISABLED": "無効", + "DISPOSITION": "配置", + "DISPOSITIONS": "処分", + "EDIT_ACCOUNT": "アカウントの編集", + "EDIT_AGENT": "エージェントの編集", + "EDIT_AUTOREPLY": "自動返信を編集", + "EDIT_CLOSE": "編集閉じる", + "EDIT_GOTOIF": "編集GotoIf", + "EDIT_GOTOP": "GotoPを編集する", + "EDIT_MAILACCOUNT": "メールアカウントの編集", + "EDIT_MAILCANNEDANSWER": "缶詰の回答を編集する", + "EDIT_MAILDISPOSITION": "電子メール処理の編集", + "EDIT_MAILQUEUE": "メールキューを編集する", "EDIT_MAILSUBSTATUS": "編集", + "EDIT_NOOP": "編集不要", + "EDIT_QUEUE": "キューを編集", + "EDIT_SYSTEM": "システムの編集", + "EMAIL_ADDRESS": "電子メールアドレス", + "ERROR": "エラー", + "FALSEPRIORITY": "誤った優先順位", + "FAX": "ファックス", + "FIDELITY": "フィデリティ", + "FILTER": "フィルタ", + "FONT_FAMILY": "フォントファミリー", + "FONT_SIZE": "フォントサイズ", + "FORWARD": "フォワード", + "FROM": "から", + "FULLNAME": "フルネーム", + "GENERAL": "一般", + "GOTOIF": "ジャンプ", + "GOTOP": "上に行きます", + "GOTOREALTIME_MAILACCOUNT": "リアルタイム電子メールアカウントに移動", + "GOTOREALTIME_MAILQUEUE": "リアルタイムメールキューに移動", + "GOTO_MAILACCOUNT": "リアルタイム電子メールアカウントに移動", + "HIDE_DETAILS": "詳細を隠す", + "HOST": "ホスト", + "ID": "イド", + "IDLE": "アイドル", + "IMAP": "IMAP", + "IMAP_HOST": "IMAPホスト", + "IMAP_PORT": "IMAPポート", + "IMAP_STATUS": "IMAPステータス", + "IN": "に", + "INFO": "情報", + "INTERACTIONS": "インタラクション", + "INTERACTIONS_MAILACCOUNT": "インタラクションへ行く", + "INTERNAL": "内部", + "IN_USE": "使用中で", + "KEEPALIVE": "生き続ける", + "KEY": "キー", + "LIST": "リスト", + "LOGGED_IN": "ログインした", + "LOGOUT": "ログアウト", + "MAIL": "Eメール", + "MAILACCOUNTS": "メールアカウント", + "MAILBOX": "メールボックス", + "MAILCANNEDANSWERS": "缶詰アンサー", + "MAILDISPOSITIONS": "メールディスポジション", + "MAILQUEUES": "メールキュー", "MAILSUBSTATUSES": "メールのサブステータス", + "MARK_AS_UNREAD": "未読としてマーク", + "NAME": "名", + "NEVER_VERIFIED": "絶対に確認されていない", + "NEW_MAILACCOUNT": "新しいメールアカウント", + "NEW_MAILCANNEDANSWER": "新しい缶詰アンサー", + "NEW_MAILDISPOSITION": "新しいメールの処分", + "NEW_MAILQUEUE": "新しいメールキュー", "NEW_MAILSUBSTATUS": "新しいサブステータス", - "SEND_AS": "別名で送信", - "COMMAND": "コマンド", - "EDIT_SYSTEM": "システムの編集", - "SYSTEM": "システム", - "VARIABLE": "変数", + "NOOP": "いいえ", + "NOTE": "注意", + "NOTES": "ノート", "NOTIFICATION": "お知らせ", "NOTIFICATIONSHAKE": "振る", "NOTIFICATIONSOUND": "音", - "NOTIFICATIONTEMPLATE": "テンプレート" + "NOTIFICATIONTEMPLATE": "テンプレート", + "NOT_INUSE": "使用されていません", + "NO_AGENT_ONLINE": "オンライン代理店はありません", + "NO_AVAILABLE_INFO": "利用可能な情報がありません", + "NO_INTERACTION_AVAILABLE": "インタラクションは利用できません", + "NO_MAILCANNEDANSWER_AVAILABLE": "缶詰の回答はありません", + "NO_MAILDISPOSITION_AVAILABLE": "利用可能な電子メール処理がありません", + "OF": "の", + "OPEN": "開いた", + "OPENCHANNEL": "オープンチャンネル", + "OPENED": "開いた", + "OTHERS": "その他", + "OUT": "でる", + "PAGE": "ページ", + "PARTIALPAUSE": "催眠中断", + "PASSWORD": "パスワード", + "PAUSE": "一時停止", + "PAUSED": "一時停止中", + "PENDING": "保留中", + "PHONE_STATE": "電話の状態", + "PHONE_STATUS": "電話ステータス", + "POLLING": "ポーリング", + "PORT": "ポート", + "PRIORITY": "優先", + "QUEUE": "キュー", + "QUEUES": "キュー", + "REACHABLE": "到達可能", + "READY": "準備完了", + "REALTIME": "リアルタイム", + "REFRESH_INTERACTIONS": "インタラクションのリフレッシュ", + "REJECT": "拒否", + "REJECTMETHOD": "拒否メソッド", + "REJECTURL": "拒否URL", + "REPLY": "応答", + "REPLY_ALL": "全員に返信", + "ROWSPERPAGE": "ページあたりの行数", + "SAVE": "セーブ", + "SEARCH_FOR_ANYONE": "サーチ", + "SECURE": "安全な", + "SELECTED": "選択された", + "SELECTED_AGENTS": "選択されたエージェント", + "SELECTED_TEAMS": "選ばれたチーム", + "SELECT_ACCOUNT": "アカウントを選択", + "SELECT_ALL": "すべて選択", + "SELECT_NONE": "選択なし", + "SELECT_STATUS": "ステータスを選択", + "SEND": "送信", + "SEND_AND_CLOSE": "送信と終了", + "SEND_AS": "別名で送信", + "SEND_AS_PENDING": "保留中として送信", + "SERVICE": "サービス", + "SETTINGS": "設定", + "SHOW_AUTOREPLY": "自動返信を表示", + "SHOW_DETAILS": "詳細を表示", + "SHOW_ORIGINAL_MESSAGE": "元のメッセージを表示", + "SIGNATURE": "署名", + "SMS": "SMS", + "SMTP": "SMTP", + "SMTPSERVICE": "SMTPサービス", + "SMTP_HOST": "SMTPホスト", + "SMTP_PORT": "SMTPポート", + "SMTP_STATUS": "SMTPステータス", + "SPYINTERACTION": "スパイ", + "SSL": "SSL", + "STARTEDAT": "開始日", + "STATUS": "状態", + "STRATEGY": "戦略", + "SUBJECT": "件名", + "SYSTEM": "システム", + "TAGS": "タグ", + "TEAMADD_MAILQUEUE": "チームを電子メールキューに追加する", + "TEMPLATE": "テンプレート", + "TEXT": "テキスト", + "TIMEOUT": "タイムアウト", + "TIMER": "タイマー", + "TIMES": "インタラクションあたりの回数", + "TO": "に", + "TOTAL": "合計", + "TRUEPRIORITY": "真の優先順位", + "UNAVAILABLE": "利用できません", + "UNKNOWN": "未知の", + "UNPAUSE": "終了ポーズ", + "UNREGISTERED": "未登録", + "USERNAME": "ユーザー名", + "VALUE": "値", + "VARIABLE": "変数", + "VERIFIED": "検証済み", + "VERIFYSMTP_MAILACCOUNT": "SMTPの確認", + "VERIFY_SMTP": "SMTPの確認", + "VOICE": "音声", + "WAITING": "待っている", + "WEBHOOKS": "WebHooks", + "WHITELABEL": "白いラベル" } } \ No newline at end of file diff --git a/public/app/main/apps/motiondialer/i18n/da.json b/public/app/main/apps/motiondialer/i18n/da.json index 6922200..13e45a9 100644 --- a/public/app/main/apps/motiondialer/i18n/da.json +++ b/public/app/main/apps/motiondialer/i18n/da.json @@ -182,7 +182,9 @@ "NOANSWERMAXRETRY_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Det Ubesvarede Max forsøg skal være mindre end eller lig med", "NOANSWERRETRYTIME_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Ingen Svar Prøv tid skal være mindre end eller lig med", "CONCURRENTCALLS_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Den samtidige opkald skal være mindre end eller lig med", - "EMAIL_REQUIRED": "Obligatorisk felt" + "EMAIL_REQUIRED": "Obligatorisk felt", + "AGENTTIMEOUT_REQUIRED": "Obligatorisk felt", + "INTERVAL_REQUIRED": "Obligatorisk felt" }, "GENERAL": "Generel", "AGENTTIMEOUT": "Agent Timeout", diff --git a/public/app/main/apps/motiondialer/i18n/de.json b/public/app/main/apps/motiondialer/i18n/de.json index 247e6d8..c3b99da 100644 --- a/public/app/main/apps/motiondialer/i18n/de.json +++ b/public/app/main/apps/motiondialer/i18n/de.json @@ -182,7 +182,9 @@ "NOANSWERMAXRETRY_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Die Antwort Nein Max wiederholen muss kleiner als oder gleich", "NOANSWERRETRYTIME_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Die Zeitüberschreitung für keine Antwort Zeit für Wiederholungen muss kleiner als oder gleich", "CONCURRENTCALLS_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Die gleichzeitige Anrufe muss kleiner als oder gleich", - "EMAIL_REQUIRED": "Pflichtfeld" + "EMAIL_REQUIRED": "Pflichtfeld", + "AGENTTIMEOUT_REQUIRED": "Pflichtfeld", + "INTERVAL_REQUIRED": "Pflichtfeld" }, "GENERAL": "Allgemein", "AGENTTIMEOUT": "Agent Timeout", diff --git a/public/app/main/apps/motiondialer/i18n/en.json b/public/app/main/apps/motiondialer/i18n/en.json index 28ba1a4..d80cac9 100644 --- a/public/app/main/apps/motiondialer/i18n/en.json +++ b/public/app/main/apps/motiondialer/i18n/en.json @@ -79,7 +79,7 @@ "BLACKLIST": "Blacklist", "NAME": "Name", "VOICEQUEUES": "Voice Queues", - "SEARCH_FOR_ANYONE": "Search for anyone", + "SEARCH_FOR_ANYONE": "Search", "BACK": "Back", "SELECTED": "Selected", "SELECT_ALL": "Select All", @@ -133,6 +133,8 @@ "CUSTOM_APPLICATION": "(*) - Custom application." }, "ERRORS": { + "AGENTTIMEOUT_REQUIRED": "Mandatory field", + "INTERVAL_REQUIRED": "Mandatory field", "EMAIL_REQUIRED": "Mandatory field", "DIALRECALLMETIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to", "DIALRECALLMETIMEOUT_REQUIRED": "Mandatory field", diff --git a/public/app/main/apps/motiondialer/i18n/es.json b/public/app/main/apps/motiondialer/i18n/es.json index bf9e892..f6ed4f9 100644 --- a/public/app/main/apps/motiondialer/i18n/es.json +++ b/public/app/main/apps/motiondialer/i18n/es.json @@ -1,598 +1,600 @@ { "MOTIONDIALER": { - "MOVE_HOPPERFINAL": "Restablecer el contacto", - "RESTORECONTACTS": "Restaurar contactos", - "NO_SUCH_NUMBER": "No hay tal número", - "DIALORDERBYSCHEDULEDAT": "Ordenar por scheduledat", - "ASC": "ASC", - "DESC": "DESC", - "RECALLAGENT": "Agente de recuperación", - "DIALRECALLINQUEUE": "Recordar en cola.", - "DIALRECALLMETIMEOUT": "Me recuerdo Timeout [min].", - "RECALLME": "Me recuerdo", - "RECALLFAILEDTIMEOUT": "No recuerdo", - "PREVIEW_CAMPAIGN": "Campañas de previsualización", - "PREVIEW_CAMPAIGNS": "Campañas de previsualización", - "AMD": "Asterisco Contestador automático de detección (AMD)", - "AMDTOTALANALYSISTIME": "Tiempo total del análisis", - "AMDACTIVE": "AMD", - "AMDINITIALSILENCE": "Silencio inicial", - "AMDGREETING": "Saludo", - "AMDAFTERGREETINGSILENCE": "Silencio después del saludo", - "AMDSILENCETHRESHOLD": "Umbral de silencio", - "AMDMINWORDLENGTH": "Longitud de palabra mín.", - "AMDBETWEENWORDSSILENCE": "El silencio entre palabras", - "AMDMAXIMUMWORDLENGTH": "La máxima longitud de palabra", - "AMDMAXIMUMNUMBEROFWORDS": "Número máximo de palabras", - "GOTO_QUEUECAMPAIGN": "Ir a campañas de cola en tiempo real", - "GOTOREALTIME_QUEUECAMPAIGN": "Ir a campañas de cola en tiempo real", - "GOTO_IVRCAMPAIGN": "Ir a campañas de IVR en tiempo real", - "GOTOREALTIME_IVRCAMPAIGN": "Ir a campañas de IVR en tiempo real", - "LOGOUT": "Cerrar sesión", - "EDIT_CAMPAIGN": "Edite la campaña", - "LIMITED": "Limited", - "IVR_CAMPAIGNS": "Campañas ivr", - "MOTIONDIALER": "Marcador de movimiento", - "QUEUECAMPAIGNS": "Campañas de cola", - "IVRCAMPAIGNS": "Campañas IVR", - "MANAGED": "Managed", - "AVAILABLE_CONTACTS_FINISHED": "Contactos disponibles terminado", - "HISTORY": "Historia", - "SCHEDULEDAT": "Programadas en", - "HOPPERBLACKS": "Lista negra de tolva", - "NO_HOPPERBLACK_AVAILABLE": "No hay elementos disponibles", - "HOPPERFINALS": "Final de tolva", - "NO_HOPPERFINAL_AVAILABLE": "No hay elementos disponibles", - "HOPPERHISTORIES": "Historia de tolva", - "NO_HOPPERHISTORY_AVAILABLE": "No hay elementos disponibles", - "DELETE_HOPPERHISTORY": "Eliminar", - "DELETE_HOPPERFINAL": "Eliminar", - "CONTACTID": "El ID de contacto", - "STARTTIME": "Hora de inicio", - "RESPONSETIME": "Tiempo de respuesta", - "ENDTIME": "Hora de finalización", - "STATUS": "El estado", - "HOPPERS": "La tolva", - "NO_HOPPER_AVAILABLE": "No hay elementos disponibles", - "EDIT_HOPPER": "Editar Hopper", - "DELETE_HOPPER": "Eliminar la tolva", - "FINAL": "Última", - "BLACKLIST": "Lista negra", - "NAME": "Nombre", - "VOICEQUEUES": "Colas de voz", - "SEARCH_FOR_ANYONE": "Buscar a alguien", - "BACK": "Volver", - "SELECTED": "Seleccionado", - "SELECT_ALL": "Seleccionar todo", - "SELECT_NONE": "Seleccione Ninguno", - "DELETE_VOICEDISPOSITION": "Eliminar la disposición de voz", - "EDIT_VOICEDISPOSITION": "Editar voz Disposición", - "EDIT_VOICEQUEUE": "Editar voz cola", - "DELETE_VOICEQUEUE": "Eliminar la cola de voz", - "MOHSOUNDS": "Sonidos de Moh", - "STRATEGY": "Estrategia", - "DESCRIPTION": "Descripción", - "INTERVAL": "Intervalo de tiempo", - "ADD_VOICEQUEUE": "Añadir cola de voz", - "NEW_QUEUECAMPAIGN": "Nueva campaña de cola", - "ACTIVE": "Active", - "METHOD": "Método", - "POWERLEVEL": "Nivel de energía", - "DROPRATE": "Tasa de caída", - "AGENTBUSYFACTOR": "Factor agente ocupado", - "PREDICTIVEOPTIMIZATION": "Optimización predictiva", - "PREDICTIVEOPTIMIZATIONPERCENTAGE": "Porcentaje de optimización predictiva", - "PREDICTIVEINTERVAL": "Intervalo de predicción", - "ADD_QUEUECAMPAIGN": "Agregar campaña cola", - "CAMPAIGN": "Campaña", - "MAXCONCURRENTCALLS": "Max llamadas simultáneas", - "CONCURRENTCALLS": "Max llamadas simultáneas", - "ORIGINATE": "Se originan", - "ORIGINATECALLERIDNAME": "Nombre de ID de llamada", - "ORIGINATECALLERIDNUMBER": "Número de ID de llamada", - "ORIGINATETIMEOUT": "Se originan Timeout", - "QUEUEOPTIONS": "Opciones de cola", - "QUEUETIMEOUT": "Tiempo de espera de cola", - "CALLYSQUAREPROJECT": "Camente Square Project", - "RETRYANDFREQUENCY": "Configuración de reintentos", - "GLOBAL": "Global", - "GLOBALMAXRETRY": "Máximo de reintentos", - "CONGESTION": "La congestión", - "CONGESTIONMAXRETRY": "Máximo de reintentos", - "CONGESTIONRETRYTIME": "Tiempo de reintento [min].", - "BUSYMAXRETRY": "Máximo de reintentos", - "BUSYRETRYTIME": "Tiempo de reintento [min].", - "NOANSWER": "Sin respuesta", - "NOANSWERMAXRETRY": "Máximo de reintentos", - "NOANSWERRETRYTIME": "Tiempo de reintento [min].", - "QUEUE_PARAMS": "Parámetros de cola", - "ORIGINATED": "Originado", - "MESSAGE": "Mensaje", - "DROPPED": "Descendido", - "CREATED_AT": "Creado en", "LEGEND": { - "CUSTOM_APPLICATION": "(*) - aplicación personalizada." + "CUSTOM_APPLICATION": "(*) - Aplicación personalizada." }, - "ERRORS": { - "DIALRECALLMETIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual a", - "DIALRECALLMETIMEOUT_REQUIRED": "Campo obligatorio", - "NAME_MUST_VALID_PATTERN": "El nombre debe ser válido un patrón válido", - "PREFIX_MUST_VALID_PATTERN": "El prefijo debe ser válido un patrón válido", - "NAME_REQUIRED": "El nombre es obligatorio", - "TIMEOUT_REQUIRED": "El tiempo de espera es necesario", - "PHONENUMBER_REQUIRED": "Es necesario introducir el número de teléfono", - "CONTEXT_REQUIRED": "El contexto es necesario", - "DESTINATIONPATTERN_REQUIRED": "El patrón de destino es obligatorio", - "FULLNAME_REQUIRED": "Se requiere el nombre completo", - "EMAIL_REQUUIRED": "El correo electrónico es obligatorio", - "EMAIL_MUST_VALID": "El correo electrónico debe estar escrito en un formato válido", - "MAILBOX_REQUIRED": "El buzón es obligatorio", - "PASSWORD_REQUIRED": "Es necesaria la contraseña", - "CONFIRM_NOT_MATCH": "Las contraseñas no coinciden.", - "TIMEZONE_REQUIRED": "La zona horaria es obligatoria.", - "PREFIX_REQUIRED": "El prefijo es obligatorio", - "OPTIONS_REQUIRED": "Las opciones son obligatorios", - "AFTERCALLWORKDURATION_REQUIRED": "El trabajo posterior a la llamada se requiere una duración", - "TECHNOLOGY/RESOURCE_REQUIRED": "La tecnología/recurso es necesario", - "PHONE_REQUIRED": "El teléfono es necesario", - "VALUE_REQUIRED": "El valor es obligatorio", - "EXTENSION_REQUIRED": "La extensión es necesaria", - "PRIORITY_REQUIRED": "La prioridad es necesaria", - "GLOBALMAXRETRY_REQUIRED": "Máximo de reintentos es requerido", - "CONGESTIONMAXRETRY_REQUIRED": "Máximo de reintentos es requerido", - "CONGESTIONRETRYTIME_REQUIRED": "Se necesita tiempo de reintento", - "BUSYMAXRETRY_REQUIRED": "Máximo de reintentos es requerido", - "BUSYRETRYTIME_REQUIRED": "Se necesita tiempo de reintento", - "NOANSWERMAXRETRY_REQUIRED": "Máximo de reintentos es requerido", - "NOANSWERRETRYTIME_REQUIRED": "Se necesita tiempo de reintento", - "QUEUETIMEOUT_REQUIRED": "Se requiere de tiempo de espera de cola", - "ORIGINATETIMEOUT_REQUIRED": "Se originan Timeout es requerido", - "GLOBALINTERVAL_REQUIRED": "Es necesario intervalo global", - "MAXCONCURRENTCALLS_REQUIRED": "El valor para el número máximo de llamadas simultáneas es necesario", - "CONCURRENTCALLS_REQUIRED": "El valor de las llamadas simultáneas es obligatorio", - "POWERLEVEL_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El nivel de potencia debe ser mayor o igual a", - "PREDICTIVEOPTIMIZATIONPERCENTAGE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La optimización predictiva el porcentaje debe ser mayor o igual a", - "PREDICTIVEINTERVAL_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La predicción del intervalo debe ser mayor o igual a", - "MAXCONCURRENTCALLS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El máximo de llamadas simultáneas debe ser mayor o igual a", - "ORIGINATETIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La originan Timeout debe ser mayor o igual a", - "QUEUETIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Tiempo de espera de la cola debe ser mayor o igual a", - "AGENTTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El tiempo de espera del agente debe ser mayor o igual a", - "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El reintento debe ser mayor o igual a", - "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El tiempo de cierre debe ser mayor o igual a", - "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El peso debe ser mayor o igual a", - "GLOBALMAXRETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El número máximo de reintentos global debe ser mayor o igual a", - "CONGESTIONMAXRETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El número máximo de reintentos de congestión debe ser mayor o igual a", - "CONGESTIONRETRYTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El tiempo de reintento de congestión debe ser mayor o igual a", - "BUSYMAXRETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El número máximo de reintentos ocupado debe ser mayor o igual a", - "BUSYRETRYTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El tiempo de reintento ocupado debe ser mayor o igual a", - "NOANSWERMAXRETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El número máximo de reintentos de respuesta no debe ser mayor que o igual a", - "NOANSWERRETRYTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Tiempo de reintento de la respuesta no debe ser mayor que o igual a", - "CONCURRENTCALLS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Las llamadas simultáneas debe ser mayor o igual a", - "POWERLEVEL_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El nivel de alimentación debe ser menor o igual a", - "PREDICTIVEOPTIMIZATIONPERCENTAGE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La optimización predictiva porcentaje debe ser menor o igual a", - "PREDICTIVEINTERVAL_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La predicción del intervalo debe ser menor o igual a", - "MAXCONCURRENTCALLS_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El máximo de llamadas simultáneas debe ser menor o igual a", - "ORIGINATETIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La originan Timeout debe ser menor o igual a", - "QUEUETIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Tiempo de espera de la cola debe ser menor o igual a", - "GLOBALMAXRETRY_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El número máximo de reintentos global debe ser menor o igual a", - "CONGESTIONMAXRETRY_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El número máximo de reintentos de congestión debe ser menor o igual a", - "CONGESTIONRETRYTIME_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El tiempo de reintento de congestión debe ser menor o igual a", - "BUSYMAXRETRY_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El número máximo de reintentos ocupado debe ser menor o igual a", - "BUSYRETRYTIME_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El tiempo de reintento ocupado debe ser menor o igual a", - "NOANSWERMAXRETRY_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El número máximo de reintentos de respuesta no debe ser menor o igual a", - "NOANSWERRETRYTIME_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Tiempo de reintento de la respuesta no debe ser menor o igual a", - "CONCURRENTCALLS_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Las llamadas simultáneas debe ser menor o igual a", - "EMAIL_REQUIRED": "Campo obligatorio" - }, - "GENERAL": "General", - "AGENTTIMEOUT": "Tiempo de espera del agente", - "MAXLENGTH": "Longitud máxima", - "RETRY": "Reintentar", - "WRAPUPTIME": "Tiempo de cierre", - "WEIGHT": "Peso", - "JOINWHENEMPTY": "Unirse cuando esté vacía.", - "LEAVEWHENEMPTY": "Dejar cuando esté vacía.", "HELP": { - "DIALORDERBYSCHEDULEDAT": "Obtener contactos de la tolva (ascendente o descendente).", - "DIALRECALLINQUEUE": "Reprogramar convocatoria de agentes en la cola.", - "DIALRECALLMETIMEOUT": "Intervalo de tiempo (en minutos) para recordar mi período de validez", - "PRIORITY": "Prioridad en la lista", - "AMDMAXIMUMWORDLENGTH": "Duración máxima permitida de una sola voz gritar", - "AMDMINWORDLENGTH": "La duración mínima de una voz para ser considerada una palabra", - "AMDSILENCETHRESHOLD": "Si el nivel promedio de ruido en una muestra no alcanza este valor, en una escala de 0 a 32767, entonces lo consideraremos como silencio", - "AMDTOTALANALYSISTIME": "Tiempo máximo permitido para el algoritmo para decidir si el audio representa un humano o una máquina", - "AMDAFTERGREETINGSILENCE": "Silencio tras detectar un saludo. Si se excede, entonces el resultado es la detección como un humano", - "AMDGREETING": "Longitud máxima de saludo. Si se excede, entonces el resultado es como una máquina de detección", - "AMDINITIALSILENCE": "Máxima duración de silencio ante el saludo. Si se excede, entonces el resultado es como una máquina de detección", - "AMDACTIVE": "Activar o desactivar los intentos de detección de contestadores automáticos", + "ACTIVE": "Activo", + "AFTERCALLWORK": "Si está habilitado, el agente se configurará en Pausa después de completar una llamada", + "AFTERCALLWORKDURATION": "Longitud de pausa activada por la opción de trabajo posterior a la llamada", + "AGENTTIMEOUT": "Cuánto tiempo (en segundos) para que suene el dispositivo de un agente", + "AMDACTIVE": "Activar o desactivar intentos de detección de contestadores automáticos", + "AMDAFTERGREETINGSILENCE": "Silencio después de detectar un saludo. Si se excede, entonces el resultado es detección como HUMANO", "AMDBETWEENWORDSSILENCE": "Duración mínima de silencio después de una palabra para considerar el audio que sigue como una nueva palabra", - "AMDMAXIMUMNUMBEROFWORDS": "Número máximo de palabras en el saludo. Si se alcanza, entonces el resultado es como una máquina de detección", - "CALLYSQUAREPROJECT": "Si selecciona una IVR proyecto de la lista, el comunicador enviará la llamada a la IVR antes de ponerlo en una cola.", - "PREFIX": "Prefijo telefónico", - "ACTIVE": "Active", - "AGENTTIMEOUT": "Especifica el número de segundos a sonar el dispositivo de un agente.", - "MAXLENGTH": "Especifica el número máximo de personas permitido estar esperando en una cola. Un valor de cero significa que un número ilimitado de llamadas están permitidos en la cola.", - "RETRY": "Especifica el número de segundos a esperar antes de intentar el siguiente miembro de la cola si el valor de tiempo de espera se agota mientras intentaba llame a un miembro de la cola.", - "WRAPUPTIME": "El número de segundos para mantener a un miembro que no está disponible en un cola después de finalizar una llamada.", - "WEIGHT": "Define el peso de una cola. Una cola con un peso mayor definido obtendrá primera prioridad cuando los miembros están asociados con varias colas.", - "JOINWHENEMPTY": "Controla si el llamante se ha añadido a la cola cuando los miembros no están disponibles.", - "LEAVEWHENEMPTY": "Se utiliza para controlar si los llamantes son expulsados de la cola cuando los miembros ya no están disponibles para realizar llamadas.", - "ANNOUNCEFREQUENCY": "Define la frecuencia con que debemos anunciar la llamada la posición y/o calcula el tiempo de espera en la cola. Establezca este valor a cero para desactivarla.", - "MINANNOUNCEFREQUENCY": "Especifica la cantidad mínima de tiempo que debe pasar antes de que podamos anunciar la llamada la posición en la cola de nuevo. Esto se usa cuando la posición de la persona que llama puede cambiar con frecuencia, para evitar que el llamador audiencia varias actualizaciones en un corto período de tiempo.", - "PERIODICANNOUNCEFREQUENCY": "Indica con qué frecuencia deberíamos hacer anuncios periódicos al llamador.", - "ANNOUNCEPOSITIONLIMIT": "Si has definido anunciar-posición como limitar o más.", - "AFTERCALLWORKDURATION": "La duración de la pausa provocada por el trabajo después de la llamada opción", - "MEMBERDELAY": "Se utiliza si desea que haya un retardo antes de que el llamador y la cola estados están conectados uno al otro.", - "MUSICONHOLD": "Establece la clase de música para ser utilizado por una cola en particular.", - "ANNOUNCETOAGENT": "Utilizado para reproducir un anuncio para el agente que atendió la llamada, normalmente para hacerle saber qué cola el llamador está viniendo.", - "RANDOMPERIODICANNOUNCE": "Si se establece en Sí, reproducirá los anuncios periódicos definidos en un orden aleatorio.", - "ANNOUNCEHOLDTIME": "Define si se estima que el tiempo de espera debe ser jugado junto con los anuncios periódicos.", - "ANNOUNCECALLERPOSITION": "Define si la posición de la llamada en la cola debe ser anunciado a ella. Si se establece en no, la posición nunca será anunciado. Si se establece en Sí, la posición de la llamada siempre será anunciado. Si se establece el valor límite, el llamante escuchará su posición en la cola sólo si está dentro de los límites definidos por anunciar la posición límite. Si el valor es mayor, la persona que llama escuchará su posición si está más allá del número definido por anunciar la posición límite.", - "REPORTHOLDTIMEAGENT": "Permite informar del tiempo de espera de la persona que llama a la cola estados antes de salvar.", - "PERIODICANNOUNCE": "Un conjunto de anuncios periódicos para ser jugado, jugado en el orden en que se definen.", - "HOLDTIMEANNOUNCE": "Si no se define, se reproducirá el valor predeterminado (\"hold time\"). Si se establece en un valor vacío, el indicador no se reproducirán en todos.", - "YOUARENEXTANNOUNCE": "Si no se define, se reproducirá el valor predeterminado (\"Ahora usted está en primera línea\"). Si se establece en un valor vacío, el indicador no se reproducirán en todos.", - "THEREAREANNOUNCE": "Si no se define, se reproducirá el valor predeterminado (\"Hay\"). Si se establece en un valor vacío, el indicador no se reproducirán en todos.", - "WAITINGCALLSANNOUNCE": "Si no se define, se reproducirá el valor predeterminado (\"llamadas en espera\"). Si se establece en un valor vacío, el indicador no se reproducirán en todos.", - "ESTIMATEDHOLDTIMEANNOUNCE": "Si no se define, se reproducirá el valor predeterminado (\"el actual tiempo de espera estimado es\"). Si se establece en un valor vacío, el indicador no se reproducirán en todos.", - "MINUTESANNOUNCE": "Si no se define, se reproducirá el valor predeterminado (\"minutos\"). Si se establece en un valor vacío, el indicador no se reproducirán en todos.", - "MINUTEANNOUNCE": "Si no se define, se reproducirá el valor predeterminado (\"minuto\"). Si se establece en un valor vacío, el indicador no se reproducirán en todos.", - "SECONDSANNOUNCE": "Si no se define, se reproducirá el valor predeterminado (\"S\"). Si se establece en un valor vacío, el indicador no se reproducirán en todos.", - "THANKYOUANNOUNCE": "Si no se define, se reproducirá el valor predeterminado (\"Gracias por su paciencia\"). Si se establece en un valor vacío, el indicador no se reproducirán en todos.", - "AFTERCALLWORK": "Si activo, el agente estará en pausa después de que se complete una llamada en la cola.", - "AUTOPAUSE": "Activa/desactiva la pausa automática de miembros que no contestar una llamada. Si activo provoca este miembro a ser pausada en todas las colas que él es un miembro de.", - "RINGINUSE": "Se utiliza para evitar el envío de llamadas a miembros cuya situación no está en uso.", - "TIMEOUTRESTART": "Si se establece en Sí, se restablece el tiempo de espera para un agente para contestar si un estado ocupado o congestión es recibida desde el canal.", - "MONITORFORMAT": "Especifica el formato de archivo que se va a utilizar durante la grabación. Si el formato del monitor está inactivo, las llamadas no se grabarán.", - "CONTEXT": "Permite a una persona a salir de la cola pulsando un único dígito DTMF. Si se especifica un contexto y el interlocutor introduzca un número, ese dígito intentará ser igualado en el contexto especificado y ejecución dialplan continuará allí.", - "SETINTERFACEVARIABLES": "Si se establece en Sí, justo antes de que el cliente se enlaza con una cola estados algunas variables se establecerá(véase wiki)", - "SETQUEUEVARIABLES": "Si se establece en Sí, justo antes de que el cliente se enlaza con un miembro de la cola y justo antes de que el llamador dejando la cola algunas variables se establecerá(véase wiki)", - "SETQUEUEENTRYVARIABLES": "Si se establece en Sí, justo antes de que el cliente se enlaza con una cola estados algunas variables se establecerá(véase wiki)", - "RECORDING": "Habilitar la grabación de llamada", - "VOICEMAIL_CONTEXT": "El contexto de la extensión relativa.", - "METHOD": "Método del marcador saliente.", - "POWERLEVEL": "Número de contactos para llamar a un agente disponible.", - "PREDICTIVEOPTIMIZATION": "Un factor para optimizar el algoritmo predictivo.", - "PREDICTIVEOPTIMIZATIONPERCENTAGE": "Porcentaje basado en el factor de optimización predictiva seleccionado", - "PREDICTIVEINTERVAL": "Intervalo de tiempo en minutos para ser considerado por el algoritmo predictivo para calcular la cantidad de llamadas a generar para optimizar el factor de optimización predictiva", - "MAXCONCURRENTCALLS": "El número máximo de llamadas simultáneas que se originó por el marcador saliente.", - "CONCURRENTCALLS": "El número máximo de llamadas simultáneas que se originó por el marcador de salida para esta campaña.", - "ORIGINATECALLERIDNAME": "Nombre de ID de llamada saliente", - "ORIGINATECALLERIDNUMBER": "Número de ID de llamada saliente", - "ORIGINATETIMEOUT": "El tiempo en segundos para que origina la llamada para establecer la conexión. Si el connection no está establecida, el estado se originan ninguna respuesta.", - "QUEUETIMEOUT": "Tiempo (en segundos) que una llamada se esperan en la cola antes de que se cayó (Min 1 y Máx 999)", - "GLOBALMAXRETRY": "Número máximo de veces que un contacto se llama antes de considerar cerrada", - "CONGESTIONMAXRETRY": "Número máximo de veces que un error de contacto para la congestión razón se llama antes de considerar cerrada", - "CONGESTIONRETRYTIME": "Tiempo en minutos antes de intentar llegar a un contacto falló por motivos de congestión", - "BUSYMAXRETRY": "Número máximo de veces que una falla de contacto para ocupado razón se llama antes de considerar cerrada", - "BUSYRETRYTIME": "Tiempo en minutos antes de intentar llegar a un contacto ha fallado para ocupado razón", - "NOANSWERMAXRETRY": "Número máximo de veces que un error de contacto para responder sin razón se llama antes de considerar cerrada", - "NOANSWERRETRYTIME": "Tiempo en minutos antes de intentar llegar a un contacto falló por razón sin respuesta", - "GLOBALINTERVAL": "Intervalo de tiempo global durante el cual el comunicador está permitido llamar a contactos. Por favor, preste atención al modificar este campo. No seremos responsables de su incapacidad para cumplir con las leyes y reglamentos Autodialer.", - "NAME": "Sólo los números, letras y caracteres específicos (_) son compatibles.", - "TIMEOUT": "Especifica el número de segundos a la corona de un país miembro del dispositivo.", + "AMDGREETING": "Longitud máxima de un saludo. Si se excede, el resultado es la detección como una MÁQUINA", + "AMDINITIALSILENCE": "Máxima duración de silencio antes del saludo. Si se excede, el resultado es la detección como una MÁQUINA", + "AMDMAXIMUMNUMBEROFWORDS": "Número máximo de palabras en el saludo. Si se ALCANZÓ, entonces el resultado es detección como una MÁQUINA", + "AMDMAXIMUMWORDLENGTH": "Duración máxima permitida de una sola emisión de voz", + "AMDMINWORDLENGTH": "Duración mínima de una voz para ser considerada una palabra", + "AMDSILENCETHRESHOLD": "Si el nivel promedio de ruido en una muestra no alcanza este valor, desde una escala de 0 a 32767, entonces lo consideraremos como silencio.", + "AMDTOTALANALYSISTIME": "Tiempo máximo permitido para que el algoritmo decida si el audio representa un HUMANO o una MÁQUINA", + "ANNOUNCECALLERPOSITION": "Se usa para definir si se debe anunciar la posición de la persona que llama en la cola: No = nunca; Sí = siempre; Límite = solo si está dentro del límite definido por announce-position-limit; Más = solo si está más allá del valor definido por announce-position-limit", + "ANNOUNCEFREQUENCY": "Con qué frecuencia se anuncia la posición de la persona que llama y / o el tiempo de espera estimado en la cola (0 = deshabilitar)", + "ANNOUNCEHOLDTIME": "Reproduce el tiempo de espera estimado junto con los anuncios periódicos (Sí / No / Una vez)", + "ANNOUNCEPOSITIONLIMIT": "Se usa si ha definido la posición de anuncio como 'límite' o 'más'", + "ANNOUNCETOAGENT": "Reproduce un anuncio al agente que responde la llamada (por ejemplo, para informarle de qué cola proviene la persona que llama)", + "AUTOPAUSE": "Habilita / deshabilita la pausa automática de los agentes que no responden una llamada. Si está habilitado, hace que el agente se pause en todas las colas a las que pertenece", + "BUSYMAXRETRY": "Número máximo de veces que se llama a un contacto fallido por motivo ocupado antes de considerarlo cerrado.", + "BUSYRETRYTIME": "Número máximo de veces que se llama a un contacto antes de considerarlo cerrado, cuando la llamada falló por ocupado", + "CALLYSQUAREPROJECT": "Al seleccionar un proyecto de IVR, el marcador reenviará la llamada al IVR antes de la cola", + "CALLYSQUAREPROJECT2": "Al seleccionar un proyecto de IVR, el marcador reenviará la llamada al IVR después de la cola. (Si la cola finaliza por tiempo de espera)", "CALLYSQUAREPROJECTPREVIEW": "Al seleccionar un proyecto de IVR, el marcador reenviará la llamada al IVR cuando un agente responda (el IVR se dirigirá al agente)", "CALLYSQUAREPROJECTPREVIEW2": "Al seleccionar un proyecto de IVR, el marcador reenviará la llamada al IVR cuando el cliente esté colgado o no pueda comunicarse (el IVR se dirigirá al agente).", + "CONCURRENTCALLS": "Número máximo de llamadas simultáneas que serán originadas por el marcador de salida para esta campaña", + "CONGESTIONMAXRETRY": "Número máximo de veces que se llama a un contacto antes de considerarlo cerrado, cuando la llamada falló por congestión", + "CONGESTIONRETRYTIME": "Tiempo en minutos antes de tratar de volver a llamar a un contacto fallido debido a la congestión", + "CONTEXT": "Permite que una persona que llama salga de la cola presionando un solo dígito DTMF. Si se especifica un contexto y la persona que llama ingresa un número, ese dígito intentará coincidir en el contexto especificado, y la ejecución del plan de marcado continuará allí.", + "DIALORDERBYSCHEDULEDAT": "Obtener contactos de la tolva (descendente o ascendente).", + "DIALRECALLINQUEUE": "Reprogramar la convocatoria de agentes en la cola", + "DIALRECALLMETIMEOUT": "Intervalo de tiempo (en minutos) para el período de validez de Recall Me", + "ESTIMATEDHOLDTIMEANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"El tiempo de espera estimado actual es\". Indefinido = sin anuncio", + "GLOBALINTERVAL": "Intervalo de tiempo global durante el cual el marcador puede llamar a contactos. Rechazamos la responsabilidad: preste atención cuando modifique este campo, ya que puede incumplir las Leyes y Reglamentos nacionales de Autodialer.", + "GLOBALMAXRETRY": "Número máximo de veces que se llama a un contacto antes de considerarlo cerrado", + "HOLDTIMEANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"Tiempo de espera\". Indefinido = sin anuncio", + "JOINWHENEMPTY": "Si se agrega una persona que llama a la cola, cuando no hay agentes disponibles", + "LEAVEWHENEMPTY": "Si un llamador es expulsado de la cola cuando no hay agentes disponibles", + "MAXCONCURRENTCALLS": "Número máximo de llamadas simultáneas que serán originadas por el marcador de salida para esta campaña (0 = ilimitado)", + "MAXLENGTH": "Número máximo de llamadas permitidas esperando en una cola (0 = ilimitado)", + "MEMBERDELAY": "Inserta un retraso antes de que la persona que llama y el agente en la cola se conecten", + "METHOD": "Método de marcación saliente", + "MINANNOUNCEFREQUENCY": "Frecuencia mínima de anuncio (útil cuando la posición de quien llama cambia con frecuencia)", + "MINUTEANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"minuto\". Indefinido = sin anuncio", + "MINUTESANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"minutos\". Indefinido = sin anuncio", + "MONITORFORMAT": "Especifica el formato de archivo para usar al grabar. Si el formato de monitor está inactivo, las llamadas no se grabarán", + "MUSICONHOLD": "Establece la clase de música para usar en una cola particular", + "NAME": "Solo se admiten números, letras y caracteres específicos (._)", + "NOANSWERMAXRETRY": "Número máximo de veces que se llama a un contacto antes de considerarlo cerrado, cuando la llamada falló por falta de respuesta", + "NOANSWERRETRYTIME": "Tiempo en minutos antes de tratar de volver a llamar a un contacto fallido debido a la falta de respuesta", + "ORIGINATECALLERIDNAME": "Nombre de Id del llamante saliente", + "ORIGINATECALLERIDNUMBER": "Número de identificación de llamada saliente", + "ORIGINATETIMEOUT": "Tiempo (en segundos) para que la llamada saliente establezca una conexión; de lo contrario, el estado se establece en Sin respuesta", + "PERIODICANNOUNCE": "Conjunto de anuncios periódicos para ser reproducidos (en el orden)", + "PERIODICANNOUNCEFREQUENCY": "Frecuencia de anuncios periódicos a la persona que llama", + "POWERLEVEL": "Número de contactos para llamar a cualquier agente disponible", + "PREDICTIVEINTERVAL": "Intervalo de tiempo (en minutos) considerado por el algoritmo predictivo para calcular la cantidad de llamadas a generar para optimizar el resultado", + "PREDICTIVEOPTIMIZATION": "Un factor para optimizar en el algoritmo predictivo", + "PREDICTIVEOPTIMIZATIONPERCENTAGE": "Porcentaje basado en el factor de optimización predictivo seleccionado", + "PREFIX": "Prefijo telefónico", + "PRIORITY": "Prioridad en la lista", + "QUEUETIMEOUT": "Tiempo (en segundos) una llamada esperará en la cola antes de que se suelte (Min 1 y Max 999)", + "RANDOMPERIODICANNOUNCE": "Si es así, reproduce los anuncios periódicos en orden aleatorio", + "RECORDING": "Habilitar grabación de llamadas", + "REPORTHOLDTIMEAGENT": "Permite informar el tiempo de espera del llamante al agente en la cola antes de la conexión", + "RETRY": "Cuánto tiempo (en segundos) esperar antes de llamar al siguiente agente en la cola cuando el tiempo de espera del agente ha expirado", + "RINGINUSE": "Para evitar / permitir el envío de llamadas a miembros cuyo estado sea En uso", "RUNIFHANGUPAGENT": "Ejecute el Proyecto Cally Square Después de incluso si el agente cuelga la llamada", - "CALLYSQUAREPROJECT2": "Al seleccionar un proyecto de IVR, el marcador reenviará la llamada al IVR después de la cola. (Si la cola finaliza por tiempo de espera)" + "SECONDSANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"segundos\". Indefinido = sin anuncio", + "SETINTERFACEVARIABLES": "Si se establece en sí, justo antes de que la persona que llama se conecte con un agente de cola, se establecerán algunas variables (para obtener más información, consulte los documentos wiki: : // [: ]. Ejemplo: https: //X.Y.Z.W", + "NAME": "Solo se admiten números, letras y caracteres específicos (._)", + "RECEIVEURL": "Esta es la cadena de la API generada automáticamente que necesita usar para recibir los mensajes dentro de su cuenta de su proveedor de SMS (se debe usar el método POST): haga clic en el botón del portapapeles para copiarlo" + }, "ERRORS": { - "KEY_MAX_LENGTH": "Clave debe tener una longitud máxima igual a {{max}}", - "KEY_REQUIRED": "Se requiere clave", - "NAME_REQUIRED": "El nombre es obligatorio", - "AGENT_TIMEOUT_REQUIRED": "El agente se requiere tiempo de espera", - "PHONE_REQUIRED": "El teléfono es necesario", - "SID_REQUIRED": "El SID es obligatorio", - "TOKEN_REQUIRED": "El token es obligatorio", - "USERNAME_REQUIRED": "El nombre de usuario es obligatorio", - "PASSWORD_REQUIRED": "Es necesaria la contraseña", - "MOTIONADDRESS_REQUIRED": "Se requiere una dirección de movimiento", - "MOTIONADDRESS_MUST_VALID_URL": "La dirección de movimiento deben escribirse en un formato válido", - "ACCEPTURL_MUST_VALID_URL": "Aceptar la URL debe estar escrito en un formato válido", - "TIMEOUT_REQUIRED": "El tiempo de espera es necesario", - "REJECTURL_MUST_VALID_URL": "Rechazar la URL debe estar escrito en un formato válido", - "CLOSEURL_MUST_VALID_URL": "La estrecha URL debe ser escrito en un formato válido", - "TYPE_REQUIRED": "El tipo es requerido", - "LIST_REQUIRED": "La lista es obligatorio", - "PRIORITY_REQUIRED": "La prioridad es necesaria", - "CONDITION_REQUIRED": "La condición es necesaria", - "TRUEPRIORITY_REQUIRED": "La verdadera prioridad es necesaria", - "FALSEPRIORITY_REQUIRED": "La prioridad es necesaria FALSO", - "AGENT_REQUIRED": "El agente es necesaria", - "QUEUE_REQUIRED": "La cola es obligatorio", - "DISPOSITION_REQUIRED": "La disposición es obligatoria", - "ACCOUNTSID_REQUIRED": "SID de cuenta es requerido", - "AUTHTOKEN_REQUIRED": "Es necesario Auth Token", - "MOTIONPROXY_REQUIRED": "Campo obligatorio", - "MOTIONPROXY_MUST_VALID_URL": "Formato incorrecto", - "TEXT_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", - "TEXT_REQUIRED": "Campo obligatorio", - "VALUE_REQUIRED": "Campo obligatorio", - "SENDERSTRING_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", - "SENDERSTRING_MUST_VALID_PATTERN": "Formato erróneo", - "METHOD_REQUIRED": "Campo obligatorio", + "ACCEPTURL_MUST_VALID_URL": "Formato erróneo", + "ACCOUNTSID_REQUIRED": "Campo obligatorio", + "AGENT_REQUIRED": "Campo obligatorio", + "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "AGENT_TIMEOUT_REQUIRED": "Campo obligatorio", "AUTHID_REQUIRED": "Campo obligatorio", + "AUTHTOKEN_REQUIRED": "Campo obligatorio", + "CLOSEURL_MUST_VALID_URL": "Formato erróneo", "COMMAND_REQUIRED": "Campo obligatorio", - "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "CONDITION_REQUIRED": "Campo obligatorio", + "DISPOSITION_REQUIRED": "Campo obligatorio", + "FALSEPRIORITY_REQUIRED": "Campo obligatorio", + "KEY_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", + "KEY_REQUIRED": "Campo obligatorio", + "LIST_REQUIRED": "Campo obligatorio", + "METHOD_REQUIRED": "Campo obligatorio", + "MOTIONADDRESS_MUST_VALID_URL": "Formato erróneo", + "MOTIONADDRESS_REQUIRED": "Campo obligatorio", + "MOTIONPROXY_MUST_VALID_URL": "Formato erróneo", + "MOTIONPROXY_REQUIRED": "Campo obligatorio", "NAME_MUST_VALID_PATTERN": "Formato erróneo", - "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que" + "NAME_REQUIRED": "Campo obligatorio", + "PASSWORD_REQUIRED": "Campo obligatorio", + "PHONE_REQUIRED": "Campo obligatorio", + "PRIORITY_REQUIRED": "Campo obligatorio", + "QUEUE_REQUIRED": "Campo obligatorio", + "REJECTURL_MUST_VALID_URL": "Formato erróneo", + "SENDERSTRING_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", + "SENDERSTRING_MUST_VALID_PATTERN": "Formato erróneo", + "SID_REQUIRED": "Campo obligatorio", + "TEXT_MAX_LENGTH": "El valor debe tener una longitud máxima igual a {{max}}", + "TEXT_REQUIRED": "Campo obligatorio", + "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que", + "TIMEOUT_REQUIRED": "Campo obligatorio", + "TOKEN_REQUIRED": "Campo obligatorio", + "TRUEPRIORITY_REQUIRED": "Campo obligatorio", + "TYPE_REQUIRED": "Campo obligatorio", + "USERNAME_REQUIRED": "Campo obligatorio", + "VALUE_REQUIRED": "Campo obligatorio" }, - "AGENT_TIMEOUT": "Tiempo de espera del agente", - "DESCRIPTION": "Descripción", - "ADD_SMSQUEUE": "Añadir la cola de SMS", - "EDIT_SMSQUEUE": "Editar SMS Queue", - "DELETE_SMSQUEUE": "Eliminar la cola de SMS", - "SETTINGS": "Configuración", - "GENERAL": "General", - "CREATED_AT": "Creado en", - "SAVE": "Guardar", - "SMSACCOUNTS": "Cuentas SMS", - "TYPE": "Tipo", - "PHONE": "Teléfono", - "SID": "SID", - "TOKEN": "Token", - "SMSTYPE": "Tipo SMS", - "USERNAME": "Nombre de usuario", - "PASSWORD": "Contraseña", - "MOTIONADDRESS": "Dirección de movimiento", - "ADD_SMSACCOUNT": "Agregar cuenta de SMS", - "EDIT_SMSACCOUNT": "Editar cuenta SMS", - "DELETE_SMSACCOUNT": "Eliminar cuenta de SMS", - "LIST": "Lista", - "FIDELITY": "Fidelidad", - "API": "API", - "DISPOSITIONS": "Disposiciones", - "WEBHOOKS": "WebHooks", - "ACTIONS": "Acciones", "ACCEPT": "Aceptar", "ACCEPTMETHOD": "Aceptar el método", "ACCEPTURL": "Aceptar URL", - "REJECT": "Rechazar", - "REJECTMETHOD": "Método de rechazo", - "REJECTURL": "Rechazar URL", - "CLOSE": "Cerrar", - "CLOSEMETHOD": "Método Close", + "ACCOUNT": "Cuenta", + "ACCOUNTSID": "SID de la cuenta", + "ACTIONS": "Comportamiento", + "ADD_NOTE": "Añadir la nota", + "ADD_SMSACCOUNT": "Agregar cuenta de SMS", + "ADD_SMSCANNEDANSWER": "Agregar respuesta enlatada", + "ADD_SMSDISPOSITION": "Agregar Disposición de SMS", + "ADD_SMSQUEUE": "Agregar Cola de SMS", + "ADVANCED": "Avanzado", + "AGENT": "Agente", + "AGENTADD_QUEUE": "Agregar agente a cola de SMS", + "AGENTADD_SMSQUEUE": "Agregar agente a la cola de SMS", + "AGENTS": "Agentes", + "AGENTSADD_QUEUE": "Agregar agentes a la cola de SMS", + "AGENT_TIMEOUT": "Tiempo de espera del agente", + "ALL": "Todas", + "ALL_AGENTS": "Todos los agentes", + "ALL_TEAMS": "Todos los equipos", + "API": "API", + "AUTHID": "ID de autenticación", + "AUTHTOKEN": "Token de autenticación", + "AUTOREPLY": "Respuesta automática", + "BACK": "Espalda", + "BUSY": "Ocupado", + "CANNEDANSWERS": "Anwsers conservados", + "CANNED_ANSWER_NOT_FOUND": "No se encontraron respuestas enlatadas", + "CANNED_ANSWER_SEARCH": "Ingrese un texto para buscar una respuesta enlatada", + "CAPACITY": "Capacidad", + "CHAT": "Charla", + "CLOSE": "Cerca", + "CLOSED": "Cerrado", + "CLOSEDAT": "Cerrado en", + "CLOSEMETHOD": "Método cercano", "CLOSEURL": "Cerrar URL", - "SELECTED": "Seleccionado", - "SELECT_ALL": "Seleccionar todo", - "SELECT_NONE": "Seleccione Ninguno", - "BACK": "Volver", - "SMS": "SMS", - "ID": "Id", + "COMMAND": "Mando", + "CONDITION": "Condición", "CONFIRM_PASSWORD": "Confirmar contraseña", - "SMSDISPOSITIONS": "Disposiciones de SMS", - "NO_SMSDISPOSITION_AVAILABLE": "No hay disposiciones SMS disponible", - "NEW_SMSDISPOSITION": "Nueva disposición de SMS", - "ADD_SMSDISPOSITION": "Añadir la disposición de SMS", - "EDIT_SMSDISPOSITION": "Modificar la disposición de SMS", - "DELETE_SMSDISPOSITION": "Eliminar la disposición de SMS", - "NEW_SMSQUEUE": "Nueva cola de SMS", - "NEW_SMSACCOUNT": "Nueva cuenta de SMS", - "NO_AVAILABLE_INFO": "No hay información disponible", - "ALL_TEAMS": "Todos los equipos", - "SELECTED_TEAMS": "Los equipos seleccionados", - "HELP": { - "NAME": "Sólo los números, letras y caracteres específicos (_) son compatibles.", - "LIST": "Contact Manager lista utilizada para asociar los contactos", - "RECEIVEURL": "Este es el auto-generado cadena API que usted necesita usar para recibir los mensajes en su cuenta de su proveedor de SMS (post método debe utilizarse). Puede pulsar el botón Portapapeles para copiarlo en el portapapeles.", - "MOTIONPROXY": "El campo debe tener el siguiente formato: ://[:]. Ejemplo: https://X.Y.Z.W", - "DELIVERYREPORTURL": "Esta es la cadena de API generada automáticamente que necesita usar para recibir el informe de entrega de los mensajes enviados desde su proveedor de SMS (se debe usar el método POST): haga clic en el botón del portapapeles para copiarlo" - }, - "PAGE": "Página", - "ROWSPERPAGE": "Filas por página.", - "OF": "De", - "TEAMADD_SMSQUEUE": "Agregar a la cola del equipo", - "AGENTADD_SMSQUEUE": "Agregar a la cola del agente", - "ALL_AGENTS": "Todos los agentes", - "SELECTED_AGENTS": "Los agentes seleccionados", - "RECEIVEURL": "Recibir URL", - "INTERACTION": "Interacción", - "INTERACTIONS": "Interacciones", - "NO_INTERACTION_AVAILABLE": "No existen interacciones disponibles", "CONTACT": "Contacto", - "STARTEDAT": "Comenzó a", - "AGENT": "Agent", - "CLOSEDAT": "Cerrado a", + "CREATED_AT": "Creado en", + "DEFAULT_PAUSE": "Pausa por defecto", + "DELETE": "Borrar", + "DELETE_INTERACTION": "Eliminar interacción", + "DELETE_SMSACCOUNT": "Eliminar cuenta de SMS", + "DELETE_SMSCANNEDANSWER": "Borrar", + "DELETE_SMSDISPOSITION": "Eliminar la disposición de SMS", + "DELETE_SMSQUEUE": "Eliminar Cola de SMS", + "DELIVERYREPORT": "Informe de entrega", + "DELIVERYREPORTURL": "URL del informe de entrega", + "DESCRIPTION": "Descripción", "DISPOSITION": "Disposición", - "NOTES": "Notas", - "GOTO": "Goto", - "GOTOIF": "Gotoif", - "NOOP": "Noop", - "QUEUE": "Cola", - "TIMEOUT": "Timeout", - "VALUE": "Valor", - "EDIT_AGENT": "Editar Agent", + "DISPOSITIONS": "Plan", + "EDIT_AGENT": "Editar agente", + "EDIT_AUTOREPLY": "Editar respuesta automática", + "EDIT_CLOSE": "Editar Cerrar", "EDIT_GOTO": "Editar Goto", - "EDIT_NOOP": "Editar Noop", "EDIT_GOTOIF": "Editar Gotoif", - "EDIT_QUEUE": "Editar cola", - "CONDITION": "Condición", - "TRUEPRIORITY": "True Priority", - "FALSEPRIORITY": "Prioridad falsa", - "PRIORITY": "Prioridad", - "GOTOP": "Gotop", "EDIT_GOTOP": "Editar Gotop", - "EDIT_CLOSE": "Editar Cerrar", + "EDIT_NOOP": "Editar Noop", + "EDIT_QUEUE": "Editar cola", + "EDIT_SMSACCOUNT": "Editar cuenta SMS", + "EDIT_SMSCANNEDANSWER": "Editar", + "EDIT_SMSDISPOSITION": "Editar la disposición de SMS", + "EDIT_SMSQUEUE": "Editar cola de SMS", + "EDIT_SYSTEM": "Editar sistema", + "FALSEPRIORITY": "Falsa prioridad", + "FAX": "Fax", + "FIDELITY": "Fidelidad", "FILTER": "Filtrar", - "SELECT_STATUS": "Seleccione un estado", - "ALL": "Todos", - "SELECT_ACCOUNT": "Seleccionar una cuenta", - "OPENED": "Abrir", - "CLOSED": "Cerrado", - "STATUS": "El estado", - "ACCOUNT": "Cuenta", - "OPEN": "Abrir", - "INFO": "Info", - "ACCOUNTSID": "SID de cuenta", - "AUTHTOKEN": "Auth Token", - "PROXY": "Proxy", - "ADVANCED": "Advanced", - "MOTIONPROXY": "Proxy o dominio de movimiento", - "REALTIME": "Realtime", - "UNKNOWN": "Desconocida", - "UNREGISTERED": "Unregistered", - "UNAVAILABLE": "No disponible", - "NOT_INUSE": "No en uso", - "REACHABLE": "Accesible", - "IN_USE": "En uso", - "AGENTS": "Los agentes", - "QUEUES": "Colas", - "FULLNAME": "Fullname", + "FULLNAME": "Nombre completo", + "GENERAL": "General", + "GOTO": "Ir", + "GOTOIF": "Gotoif", + "GOTOP": "Ve arriba", + "GOTOREALTIME_SMSQUEUE": "Ir a cola Sms en tiempo real", + "ID": "Id", + "IDLE": "Ocioso", + "INFO": "Información", + "INSERT_MESSAGE_HERE": "Inserta tu mensaje de texto aquí", + "INTERACTION": "Interacción", + "INTERACTIONS": "Interacciones", + "INTERACTIONS_SMSACCOUNT": "Ir a Interacciones", "INTERNAL": "Interno", + "IN_USE": "En uso", + "KEY": "Llave", + "LIST": "Lista", + "LOGGED_IN": "Conectado", + "LOGOUT": "Cerrar sesión", + "MAIL": "Email", + "MESSAGE": "Mensaje", + "METHOD": "Método", + "MOTIONADDRESS": "Motion Address", + "MOTIONPROXY": "Dominio proxy o Motion", + "NAME": "Nombre", + "NEW_SMSACCOUNT": "Nueva cuenta SMS", + "NEW_SMSCANNEDANSWER": "Nueva respuesta enlatada", + "NEW_SMSDISPOSITION": "Nueva disposición de SMS", + "NEW_SMSQUEUE": "Nueva Cola de SMS", + "NOOP": "Noop", + "NOTE": "Nota", + "NOTES": "Notas", + "NOTIFICATION": "Notificación", + "NOTIFICATIONSHAKE": "Sacudir", + "NOTIFICATIONSOUND": "Sonar", + "NOTIFICATIONTEMPLATE": "Modelo", + "NOT_INUSE": "No esta en uso", + "NO_AGENT_ONLINE": "Sin agente en línea", + "NO_AVAILABLE_INFO": "No hay información disponible", + "NO_INTERACTION_AVAILABLE": "No hay interacciones disponibles", + "NO_SMSCANNEDANSWER_AVAILABLE": "No hay respuestas enlatadas disponibles", + "NO_SMSDISPOSITIONS_AVAILABLE": "No hay disposición de SMS disponible", + "NO_SMSDISPOSITION_AVAILABLE": "No hay disposiciones de SMS disponibles", + "OF": "de", + "OPEN": "Abierto", + "OPENCHANNEL": "Canal abierto", + "OPENED": "Abierto", + "PAGE": "Página", + "PARTIALPAUSE": "Pausa Parcial", + "PASSWORD": "Contraseña", + "PAUSE": "Pausa", + "PAUSED": "Pausado", + "PHONE": "Teléfono", "PHONE_STATE": "Estado del teléfono", "PHONE_STATUS": "Estado del teléfono", - "PAUSE": "Pausa", - "LOGOUT": "Cerrar sesión", - "AGENTADD_QUEUE": "Agregar agente de cola de SMS", - "UNPAUSE": "Pausa final", - "DEFAULT_PAUSE": "Pausa predeterminada", - "LOGGED_IN": "Iniciar sesión", - "PAUSED": "En pausa", + "PRIORITY": "Prioridad", + "PROXY": "Apoderado", + "QUEUE": "Cola", + "QUEUES": "Colas", + "REACHABLE": "Accesible", "READY": "Listo", - "WAITING": "Esperando", - "VOICE": "Voz", - "CHAT": "Chat", - "MAIL": "Mail", - "OPENCHANNEL": "Canal abierto", - "FAX": "Fax", - "AGENTSADD_QUEUE": "Añadir agentes a cola de SMS", - "NO_AGENT_ONLINE": "Ningún agente Online", - "GOTOREALTIME_SMSQUEUE": "Vaya a la cola de SMS en tiempo real", - "PARTIALPAUSE": "Pausa Parital", - "BUSY": "Ocupada", - "TIMER": "Timer", - "IDLE": "Inactivo", - "CAPACITY": "Capacidad", + "REALTIME": "Tiempo real", + "RECEIVEURL": "Recibir URL", + "REFRESH_INTERACTIONS": "Actualizar interacciones", + "REJECT": "Rechazar", + "REJECTMETHOD": "Método de rechazo", + "REJECTURL": "Rechazar URL", + "ROWSPERPAGE": "Filas por página", + "SAVE": "Salvar", + "SEARCH_FOR_ANYONE": "Busque a alguien", + "SELECTED": "Seleccionado", + "SELECTED_AGENTS": "Agentes seleccionados", + "SELECTED_TEAMS": "Equipos seleccionados", + "SELECT_ACCOUNT": "Seleccione una cuenta", + "SELECT_ALL": "Seleccionar todo", + "SELECT_NONE": "Seleccione Ninguno", + "SELECT_STATUS": "Seleccione un estado", "SEND": "Enviar", - "TO": "A", - "MESSAGE": "Mensaje", - "TAGS": "Tags", - "INTERACTIONS_SMSACCOUNT": "Ir a interacciones", - "REFRESH_INTERACTIONS": "Interacciones de actualización", - "CANNED_ANSWER_NOT_FOUND": "No se encontraron respuestas enlatadas", - "CANNED_ANSWER_SEARCH": "Introduzca un texto para buscar una respuesta enlatada", - "NO_SMSDISPOSITIONS_AVAILABLE": "No hay disposición de SMS disponible", - "CANNEDANSWERS": "Anwsers conservados", - "SMSCANNEDANSWERS": "Anwsers conservados", - "NO_SMSCANNEDANSWER_AVAILABLE": "No hay respuestas enlatadas disponibles", - "NEW_SMSCANNEDANSWER": "Nueva respuesta enlatada", - "ADD_SMSCANNEDANSWER": "Agregar respuesta enlatada", - "EDIT_SMSCANNEDANSWER": "Editar", - "DELETE_SMSCANNEDANSWER": "Borrar", - "DELIVERYREPORTURL": "URL del informe de entrega", - "DELETE": "Borrar", "SENDERSTRING": "Cadena del remitente", - "DELIVERYREPORT": "Informe de entrega", - "METHOD": "Método", - "ADD_NOTE": "Añadir la nota", - "NOTE": "Nota", + "SETTINGS": "Configuraciones", + "SID": "SID", + "SMS": "SMS", + "SMSACCOUNTS": "Cuentas de SMS", + "SMSCANNEDANSWERS": "Anwsers conservados", + "SMSDISPOSITIONS": "Disposiciones de SMS", + "SMSQUEUES": "Cola de SMS", + "SMSTYPE": "Tipo de SMS", "SPYINTERACTION": "Espiar", - "AUTOREPLY": "Respuesta automática", - "EDIT_AUTOREPLY": "Editar respuesta automática", - "TIMES": "Cantidad de veces por interacción", - "TEXT": "Texto", - "INSERT_MESSAGE_HERE": "Inserta tu mensaje de texto aquí", - "DELETE_INTERACTION": "Eliminar interacción", - "AUTHID": "ID de autenticación", - "COMMAND": "Mando", - "EDIT_SYSTEM": "Editar sistema", + "STARTEDAT": "Empezó a las", + "STATUS": "Estado", + "STRATEGY": "Estrategia", "SYSTEM": "Sistema", + "TAGS": "Etiquetas", + "TEAMADD_SMSQUEUE": "Agregar cola de equipo a SMS", + "TEXT": "Texto", + "TIMEOUT": "Se acabó el tiempo", + "TIMER": "Minutero", + "TIMES": "Cantidad de veces por interacción", + "TO": "A", + "TOKEN": "Simbólico", + "TRUEPRIORITY": "Verdadera prioridad", + "TYPE": "Tipo", + "UNAVAILABLE": "Indisponible", + "UNKNOWN": "Desconocido", + "UNPAUSE": "Fin de pausa", + "UNREGISTERED": "No registrado", + "USERNAME": "Nombre de usuario", + "VALUE": "Valor", "VARIABLE": "Variable", - "NOTIFICATION": "Notificación", - "NOTIFICATIONSHAKE": "Sacudir", - "NOTIFICATIONSOUND": "Sonar", - "NOTIFICATIONTEMPLATE": "Modelo" + "VOICE": "Voz", + "WAITING": "Esperando", + "WEBHOOKS": "WebHooks" } } \ No newline at end of file diff --git a/public/app/main/apps/sms/i18n/ja.json b/public/app/main/apps/sms/i18n/ja.json index 9fe34a0..97239ff 100644 --- a/public/app/main/apps/sms/i18n/ja.json +++ b/public/app/main/apps/sms/i18n/ja.json @@ -1,235 +1,235 @@ { "SMS": { - "KEY": "キー", - "NAME": "名", - "SMSQUEUES": "SMS のキュー", - "SEARCH_FOR_ANYONE": "だれでものための検索", - "STRATEGY": "戦略", "ERRORS": { - "KEY_MAX_LENGTH": "主な { 最大 } {0} に相当する最大の長さである必要があります。", - "KEY_REQUIRED": "キーが必要です。", - "NAME_REQUIRED": "名前は必須です", - "AGENT_TIMEOUT_REQUIRED": "エージェントのタイムアウトが必要", - "PHONE_REQUIRED": "の電話番号が必要です", - "SID_REQUIRED": "SID が必要な", - "TOKEN_REQUIRED": "トークンが必要", - "USERNAME_REQUIRED": "ユーザ名が必要です", - "PASSWORD_REQUIRED": "パスワードが必要です", - "MOTIONADDRESS_REQUIRED": "モーションのアドレスが必要です", - "MOTIONADDRESS_MUST_VALID_URL": "モーションアドレスが有効な形式で記述する必要があります", - "ACCEPTURL_MUST_VALID_URL": "「同意します URL に有効な形式で記述する必要があります", - "TIMEOUT_REQUIRED": "タイムアウトは必須です", - "REJECTURL_MUST_VALID_URL": "拒否 URL に有効な形式で記述する必要があります", - "CLOSEURL_MUST_VALID_URL": "閉じる URL を指定します。有効な形式で記述する必要があります", - "TYPE_REQUIRED": "タイプが必要です。", - "LIST_REQUIRED": "リストが必要です。", - "PRIORITY_REQUIRED": "優先順位が必要です。", - "CONDITION_REQUIRED": "条件が必要です。", - "TRUEPRIORITY_REQUIRED": "真の優先順位が必要です。", - "FALSEPRIORITY_REQUIRED": "偽の優先順位が必要です。", - "AGENT_REQUIRED": "エージェントが必要です。", - "QUEUE_REQUIRED": "キューが必要です。", - "DISPOSITION_REQUIRED": "処分が必要です。", - "ACCOUNTSID_REQUIRED": "アカウントの SID が必要です。", - "AUTHTOKEN_REQUIRED": "認証トークンが必要です。", - "MOTIONPROXY_REQUIRED": "必須フィールドです。", - "MOTIONPROXY_MUST_VALID_URL": "形式が間違っている", - "TEXT_MAX_LENGTH": "値の最大長は{{max}}に等しくなければなりません", - "TEXT_REQUIRED": "必須フィールド", - "VALUE_REQUIRED": "必須フィールド", - "SENDERSTRING_MAX_LENGTH": "値の最大長は{{max}}に等しくなければなりません", - "SENDERSTRING_MUST_VALID_PATTERN": "間違ったフォーマット", - "METHOD_REQUIRED": "必須フィールド", + "ACCEPTURL_MUST_VALID_URL": "間違ったフォーマット", + "ACCOUNTSID_REQUIRED": "必須フィールド", + "AGENT_REQUIRED": "必須フィールド", + "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "AGENT_TIMEOUT_REQUIRED": "必須フィールド", "AUTHID_REQUIRED": "必須フィールド", + "AUTHTOKEN_REQUIRED": "必須フィールド", + "CLOSEURL_MUST_VALID_URL": "間違ったフォーマット", "COMMAND_REQUIRED": "必須フィールド", - "AGENT_TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "CONDITION_REQUIRED": "必須フィールド", + "DISPOSITION_REQUIRED": "必須フィールド", + "FALSEPRIORITY_REQUIRED": "必須フィールド", + "KEY_MAX_LENGTH": "値の最大長は{{max}}に等しくなければなりません", + "KEY_REQUIRED": "必須フィールド", + "LIST_REQUIRED": "必須フィールド", + "METHOD_REQUIRED": "必須フィールド", + "MOTIONADDRESS_MUST_VALID_URL": "間違ったフォーマット", + "MOTIONADDRESS_REQUIRED": "必須フィールド", + "MOTIONPROXY_MUST_VALID_URL": "間違ったフォーマット", + "MOTIONPROXY_REQUIRED": "必須フィールド", "NAME_MUST_VALID_PATTERN": "間違ったフォーマット", - "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下にする必要があります" + "NAME_REQUIRED": "必須フィールド", + "PASSWORD_REQUIRED": "必須フィールド", + "PHONE_REQUIRED": "必須フィールド", + "PRIORITY_REQUIRED": "必須フィールド", + "QUEUE_REQUIRED": "必須フィールド", + "REJECTURL_MUST_VALID_URL": "間違ったフォーマット", + "SENDERSTRING_MAX_LENGTH": "値の最大長は{{max}}に等しくなければなりません", + "SENDERSTRING_MUST_VALID_PATTERN": "間違ったフォーマット", + "SID_REQUIRED": "必須フィールド", + "TEXT_MAX_LENGTH": "値の最大長は{{max}}に等しくなければなりません", + "TEXT_REQUIRED": "必須フィールド", + "TIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下にする必要があります", + "TIMEOUT_REQUIRED": "必須フィールド", + "TOKEN_REQUIRED": "必須フィールド", + "TRUEPRIORITY_REQUIRED": "必須フィールド", + "TYPE_REQUIRED": "必須フィールド", + "USERNAME_REQUIRED": "必須フィールド", + "VALUE_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": "モーションのアドレス", - "ADD_SMSACCOUNT": "SMS アカウントを追加します", - "EDIT_SMSACCOUNT": "SMS アカウントの編集", - "DELETE_SMSACCOUNT": "SMS アカウントを削除します", - "LIST": "リスト", - "FIDELITY": "忠実性", - "API": "API", - "DISPOSITIONS": "ディスポジション", - "WEBHOOKS": "WebHooks", - "ACTIONS": "アクション", - "ACCEPT": "受け入れる", - "ACCEPTMETHOD": "方法を受け入れる", - "ACCEPTURL": "URL を受け入れ", - "REJECT": "拒否", - "REJECTMETHOD": "拒否メソッド", - "REJECTURL": "拒否 URL", - "CLOSE": "閉じる", - "CLOSEMETHOD": "Close メソッド", - "CLOSEURL": "閉じる URL", - "SELECTED": "選択した", - "SELECT_ALL": "すべてを選択します", - "SELECT_NONE": "「なし」を選択します。", - "BACK": "背面", - "SMS": "SMS", - "ID": "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": { - "NAME": "数字、文字、およびのみ特定の文字 ( 。 ) はサポートされています", - "LIST": "連絡先を関連付けるために使用されている連絡先マネージャのリスト", - "RECEIVEURL": "これは、自動生成された API の文字列を使用して、 SMS プロバイダーからのあなたのアカウント内のメッセージを受信する( POST メソッドを使用する必要があります ) する必要があります。 「クリップボード」ボタンを押してクリップボードにコピーすることができます。", - "MOTIONPROXY": "このフィールドには、次の形式で指定します。 < プロトコル > : / / 【: < ポート ] を持っている必要があります。 例 : https://X.Y.Z.W", - "DELIVERYREPORTURL": "これは、SMSプロバイダから送信されたメッセージの配信レポートを受信するために必要な自動生成API文字列です(POSTメソッドを使用する必要があります)。クリップボードボタンをクリックしてコピーします" + "DELIVERYREPORTURL": "これは、SMSプロバイダから送信されたメッセージの配信レポートを受信するために使用する必要がある自動生成のAPI文字列です(POSTメソッドを使用する必要があります)。クリップボードボタンをクリックしてコピーします", + "LIST": "コンタクトを関連付けるために使用されるコンタクトマネージャーリスト", + "MOTIONPROXY": "フィールドは、:// [:]の形式でなければなりません。例:https://X.Y.Z.W", + "NAME": "数字、文字、および特定の文字(._)のみがサポートされています", + "RECEIVEURL": "SMSプロバイダからアカウント内のメッセージを受信するために必要な自動生成API文字列(POSTメソッドを使用する必要があります):クリップボードボタンをクリックしてコピーします" }, - "PAGE": "ページ", - "ROWSPERPAGE": "ページあたりの行数", - "OF": "の", - "TEAMADD_SMSQUEUE": "チームにキューを追加する", - "AGENTADD_SMSQUEUE": "エージェントにキューを追加する", - "ALL_AGENTS": "すべてのエージェント", - "SELECTED_AGENTS": "選択したエージェント", - "RECEIVEURL": "URL を受信", - "INTERACTION": "相互作用", - "INTERACTIONS": "相互作用", - "NO_INTERACTION_AVAILABLE": "利用可能な相互作用はありません", - "CONTACT": "連絡先", - "STARTEDAT": "を開始しました", + "ACCEPT": "同意する", + "ACCEPTMETHOD": "Acceptメソッド", + "ACCEPTURL": "URLを受け入れる", + "ACCOUNT": "アカウント", + "ACCOUNTSID": "アカウントSID", + "ACTIONS": "行動", + "ADD_NOTE": "メモを追加", + "ADD_SMSACCOUNT": "SMSアカウントを追加する", + "ADD_SMSCANNEDANSWER": "缶詰の回答を追加", + "ADD_SMSDISPOSITION": "SMS処理を追加する", + "ADD_SMSQUEUE": "SMSキューを追加する", + "ADVANCED": "上級", "AGENT": "エージェント", - "CLOSEDAT": "で引けた。", - "DISPOSITION": "廃棄", - "NOTES": "ノート", - "GOTO": "後藤", - "GOTOIF": "Gotoif", - "NOOP": "Noop", - "QUEUE": "キュー", - "TIMEOUT": "タイムアウト", - "VALUE": "値", + "AGENTADD_QUEUE": "SMSキューにエージェントを追加する", + "AGENTADD_SMSQUEUE": "エージェントをSMSキューに追加する", + "AGENTS": "エージェント", + "AGENTSADD_QUEUE": "SMSキューにエージェントを追加する", + "AGENT_TIMEOUT": "エージェントのタイムアウト", + "ALL": "すべて", + "ALL_AGENTS": "すべてのエージェント", + "ALL_TEAMS": "すべてのチーム", + "API": "API", + "AUTHID": "認証ID", + "AUTHTOKEN": "認証トークン", + "AUTOREPLY": "自動返信", + "BACK": "バック", + "BUSY": "忙しい", + "CANNEDANSWERS": "缶詰アンサー", + "CANNED_ANSWER_NOT_FOUND": "缶詰の回答は見つかりませんでした", + "CANNED_ANSWER_SEARCH": "缶詰回答を検索するためのテキストを入力してください", + "CAPACITY": "容量", + "CHAT": "チャット", + "CLOSE": "閉じる", + "CLOSED": "閉まっている", + "CLOSEDAT": "休館日", + "CLOSEMETHOD": "Closeメソッド", + "CLOSEURL": "URLを閉じる", + "COMMAND": "コマンド", + "CONDITION": "調子", + "CONFIRM_PASSWORD": "パスワードを認証する", + "CONTACT": "接触", + "CREATED_AT": "作成者:", + "DEFAULT_PAUSE": "デフォルトの一時停止", + "DELETE": "削除", + "DELETE_INTERACTION": "インタラクションの削除", + "DELETE_SMSACCOUNT": "SMSアカウントの削除", + "DELETE_SMSCANNEDANSWER": "削除", + "DELETE_SMSDISPOSITION": "SMS処理を削除する", + "DELETE_SMSQUEUE": "SMSキューを削除する", + "DELIVERYREPORT": "送達通知", + "DELIVERYREPORTURL": "配信レポートのURL", + "DESCRIPTION": "説明", + "DISPOSITION": "配置", + "DISPOSITIONS": "処分", "EDIT_AGENT": "エージェントの編集", - "EDIT_GOTO": "後藤編集", - "EDIT_NOOP": "Noop 編集", - "EDIT_GOTOIF": "Gotoif 編集", - "EDIT_QUEUE": "「キューの編集", - "CONDITION": "条件", - "TRUEPRIORITY": "真の優先順位", - "FALSEPRIORITY": "偽の優先順位", - "PRIORITY": "優先順位", - "GOTOP": "Gotop", - "EDIT_GOTOP": "Gotop 編集", - "EDIT_CLOSE": "編集を閉じる", + "EDIT_AUTOREPLY": "自動返信を編集", + "EDIT_CLOSE": "編集閉じる", + "EDIT_GOTO": "後藤を編集する", + "EDIT_GOTOIF": "編集Gotoif", + "EDIT_GOTOP": "Gotopを編集する", + "EDIT_NOOP": "編集不要", + "EDIT_QUEUE": "キューを編集", + "EDIT_SMSACCOUNT": "SMSアカウントの編集", + "EDIT_SMSCANNEDANSWER": "編集", + "EDIT_SMSDISPOSITION": "SMSの処理を編集する", + "EDIT_SMSQUEUE": "SMSキューを編集する", + "EDIT_SYSTEM": "システムの編集", + "FALSEPRIORITY": "誤った優先順位", + "FAX": "ファックス", + "FIDELITY": "フィデリティ", "FILTER": "フィルタ", - "SELECT_STATUS": "ステータスを選択します。", - "ALL": "すべての", - "SELECT_ACCOUNT": "アカウントを選択します。", - "OPENED": "オープン", - "CLOSED": "閉", - "STATUS": "ステータス", - "ACCOUNT": "アカウント", - "OPEN": "オープン", + "FULLNAME": "フルネーム", + "GENERAL": "一般", + "GOTO": "後藤", + "GOTOIF": "ゴトイフ", + "GOTOP": "上に行きます", + "GOTOREALTIME_SMSQUEUE": "リアルタイムSmsキューに移動", + "ID": "イド", + "IDLE": "アイドル", "INFO": "情報", - "ACCOUNTSID": "アカウントの SID", - "AUTHTOKEN": "認証トークン", - "PROXY": "プロキシ", - "ADVANCED": "高度な", - "MOTIONPROXY": "プロキシまたはモーションドメイン", - "REALTIME": "リアルタイム", - "UNKNOWN": "不明な", - "UNREGISTERED": "登録されていない", - "UNAVAILABLE": "使用できません。", - "NOT_INUSE": "使用されていません。", - "REACHABLE": "到達可能", - "IN_USE": "のを使用します。", - "AGENTS": "担当者", - "QUEUES": "キュー", - "FULLNAME": "Fullname", + "INSERT_MESSAGE_HERE": "あなたのテキストメッセージをここに挿入してください", + "INTERACTION": "インタラクション", + "INTERACTIONS": "インタラクション", + "INTERACTIONS_SMSACCOUNT": "インタラクションへ行く", "INTERNAL": "内部", - "PHONE_STATE": "電話の状態", - "PHONE_STATUS": "電話のステータス", - "PAUSE": "一時停止", + "IN_USE": "使用中で", + "KEY": "キー", + "LIST": "リスト", + "LOGGED_IN": "ログインした", "LOGOUT": "ログアウト", - "AGENTADD_QUEUE": "SMS キューエージェントを追加する", - "UNPAUSE": "最後の一時停止", - "DEFAULT_PAUSE": "デフォルトの一時停止", - "LOGGED_IN": "ログインしている", - "PAUSED": "一時停止", - "READY": "準備ができました", - "WAITING": "待機している", - "VOICE": "音声", - "CHAT": "チャット", - "MAIL": "メール", - "OPENCHANNEL": "チャネルを開いた", - "FAX": "ファクス", - "AGENTSADD_QUEUE": "SMS キューエージェントを追加する", - "NO_AGENT_ONLINE": "エージェントのオンラインがありません", - "GOTOREALTIME_SMSQUEUE": "リアルタイムの SMS キューに移動します。", - "PARTIALPAUSE": "Parital の一時停止", - "BUSY": "忙しい", - "TIMER": "タイマー", - "IDLE": "アイドル", - "CAPACITY": "容量", - "SEND": "送信します。", - "TO": "を", + "MAIL": "Eメール", "MESSAGE": "メッセージ", - "TAGS": "タグ", - "INTERACTIONS_SMSACCOUNT": "相互作用に移動します。", - "REFRESH_INTERACTIONS": "リフレッシュの相互作用", - "CANNED_ANSWER_NOT_FOUND": "缶詰にされた答えが見つかりませんでした。", - "CANNED_ANSWER_SEARCH": "定型の回答を検索するには、テキストを入力します。", - "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": "メモを追加", + "MOTIONADDRESS": "モーションアドレス", + "MOTIONPROXY": "プロキシまたはモーションドメイン", + "NAME": "名", + "NEW_SMSACCOUNT": "新しいSMSアカウント", + "NEW_SMSCANNEDANSWER": "新しい缶詰アンサー", + "NEW_SMSDISPOSITION": "新しいSMSの処理", + "NEW_SMSQUEUE": "新しいSMSキュー", + "NOOP": "いいえ", "NOTE": "注意", - "SPYINTERACTION": "スパイ", - "AUTOREPLY": "自動返信", - "EDIT_AUTOREPLY": "自動返信を編集", - "TIMES": "インタラクションあたりの回数", - "TEXT": "テキスト", - "INSERT_MESSAGE_HERE": "あなたのテキストメッセージをここに挿入してください", - "DELETE_INTERACTION": "インタラクションの削除", - "AUTHID": "認証ID", - "COMMAND": "コマンド", - "EDIT_SYSTEM": "システムの編集", - "SYSTEM": "システム", - "VARIABLE": "変数", + "NOTES": "ノート", "NOTIFICATION": "お知らせ", "NOTIFICATIONSHAKE": "振る", "NOTIFICATIONSOUND": "音", - "NOTIFICATIONTEMPLATE": "テンプレート" + "NOTIFICATIONTEMPLATE": "テンプレート", + "NOT_INUSE": "使用されていません", + "NO_AGENT_ONLINE": "オンライン代理店はありません", + "NO_AVAILABLE_INFO": "利用可能な情報がありません", + "NO_INTERACTION_AVAILABLE": "インタラクションは利用できません", + "NO_SMSCANNEDANSWER_AVAILABLE": "缶詰の回答はありません", + "NO_SMSDISPOSITIONS_AVAILABLE": "利用可能なSmsの処分はありません", + "NO_SMSDISPOSITION_AVAILABLE": "SMS処分はありません", + "OF": "の", + "OPEN": "開いた", + "OPENCHANNEL": "オープンチャンネル", + "OPENED": "開いた", + "PAGE": "ページ", + "PARTIALPAUSE": "催眠中断", + "PASSWORD": "パスワード", + "PAUSE": "一時停止", + "PAUSED": "一時停止中", + "PHONE": "電話", + "PHONE_STATE": "電話の状態", + "PHONE_STATUS": "電話ステータス", + "PRIORITY": "優先", + "PROXY": "プロキシ", + "QUEUE": "キュー", + "QUEUES": "キュー", + "REACHABLE": "到達可能", + "READY": "準備完了", + "REALTIME": "リアルタイム", + "RECEIVEURL": "受信URL", + "REFRESH_INTERACTIONS": "インタラクションのリフレッシュ", + "REJECT": "拒否", + "REJECTMETHOD": "拒否メソッド", + "REJECTURL": "拒否URL", + "ROWSPERPAGE": "ページあたりの行数", + "SAVE": "セーブ", + "SEARCH_FOR_ANYONE": "サーチ", + "SELECTED": "選択された", + "SELECTED_AGENTS": "選択されたエージェント", + "SELECTED_TEAMS": "選ばれたチーム", + "SELECT_ACCOUNT": "アカウントを選択", + "SELECT_ALL": "すべて選択", + "SELECT_NONE": "選択なし", + "SELECT_STATUS": "ステータスを選択", + "SEND": "送信", + "SENDERSTRING": "送信者の文字列", + "SETTINGS": "設定", + "SID": "SID", + "SMS": "SMS", + "SMSACCOUNTS": "SMSアカウント", + "SMSCANNEDANSWERS": "缶詰アンサー", + "SMSDISPOSITIONS": "SMS処理", + "SMSQUEUES": "SMSキュー", + "SMSTYPE": "SMSタイプ", + "SPYINTERACTION": "スパイ", + "STARTEDAT": "開始日", + "STATUS": "状態", + "STRATEGY": "戦略", + "SYSTEM": "システム", + "TAGS": "タグ", + "TEAMADD_SMSQUEUE": "チームをSMSキューに追加", + "TEXT": "テキスト", + "TIMEOUT": "タイムアウト", + "TIMER": "タイマー", + "TIMES": "インタラクションあたりの回数", + "TO": "に", + "TOKEN": "トークン", + "TRUEPRIORITY": "真の優先順位", + "TYPE": "タイプ", + "UNAVAILABLE": "利用できません", + "UNKNOWN": "未知の", + "UNPAUSE": "終了ポーズ", + "UNREGISTERED": "未登録", + "USERNAME": "ユーザー名", + "VALUE": "値", + "VARIABLE": "変数", + "VOICE": "音声", + "WAITING": "待っている", + "WEBHOOKS": "WebHooks" } } \ No newline at end of file diff --git a/public/app/main/apps/staff/i18n/da.json b/public/app/main/apps/staff/i18n/da.json index f6d03cb..27701a9 100644 --- a/public/app/main/apps/staff/i18n/da.json +++ b/public/app/main/apps/staff/i18n/da.json @@ -231,6 +231,7 @@ "ENABLEMESSENGER": "Aktivér intern Messenger", "OUTBOUNDPROXY": "Oubound Proxy", "PHONE": "telefon", - "MOBILE": "Mobil" + "MOBILE": "Mobil", + "ALIAS": "Alias" } } \ No newline at end of file diff --git a/public/app/main/apps/staff/i18n/de.json b/public/app/main/apps/staff/i18n/de.json index 21ef4e7..775a163 100644 --- a/public/app/main/apps/staff/i18n/de.json +++ b/public/app/main/apps/staff/i18n/de.json @@ -231,6 +231,7 @@ "ENABLEMESSENGER": "Aktivieren Sie den internen Messenger", "OUTBOUNDPROXY": "Oubound-Proxy", "PHONE": "Telefon", - "MOBILE": "Handy, Mobiltelefon" + "MOBILE": "Handy, Mobiltelefon", + "ALIAS": "Alias" } } \ No newline at end of file diff --git a/public/app/main/apps/staff/i18n/en.json b/public/app/main/apps/staff/i18n/en.json index e68c509..f2853ec 100644 --- a/public/app/main/apps/staff/i18n/en.json +++ b/public/app/main/apps/staff/i18n/en.json @@ -1,5 +1,6 @@ { "STAFF": { + "ALIAS": "Alias", "NO_PASSWORD_CHANGE": "No Password Change", "SECURITY_SUITE": "Security Suite", "LAST_PASSWORD_RESET_AT": "Last Password Reset At", @@ -13,7 +14,7 @@ "USERS": "Users", "AGENTS": "Agents", "TOGGLE_SIDENAV": "Toggle sidenav", - "SEARCH_FOR_ANYONE": "Search for anyone", + "SEARCH_FOR_ANYONE": "Search", "BACK": "Back", "MULTI_SELECT_TOGGLE": "multi select toggle", "SELECT_ALL": "Select all", diff --git a/public/app/main/apps/staff/i18n/es.json b/public/app/main/apps/staff/i18n/es.json index 13ba21e..fa82929 100644 --- a/public/app/main/apps/staff/i18n/es.json +++ b/public/app/main/apps/staff/i18n/es.json @@ -1,236 +1,237 @@ { "STAFF": { - "CONTEXT": "Contexto", - "RINGINUSE": "Anillo en uso", - "USERS": "Los usuarios", - "AGENTS": "Los agentes", - "TOGGLE_SIDENAV": "Alternar sidenav", - "SEARCH_FOR_ANYONE": "Buscar a alguien", - "BACK": "Volver", - "MULTI_SELECT_TOGGLE": "Seleccione alternar múltiples", - "SELECT_ALL": "Seleccionar todo", - "SELECT_NONE": "Seleccione Ninguno", - "SELECTED": "Seleccionado", - "DELETE_SELECTED": "Eliminar seleccionado", - "EXPORT_SELECTED": "Exportar selección", - "ALL_USERS": "Todos los usuarios", - "ALL_AGENTS": "Todos los agentes", - "SORT": "Ordenar", - "NAME": "Nombre", - "FULLNAME": "Nombre completo", - "A_TO_Z": "(De la A a la Z)", - "Z_TO_A": "(de la Z a la A)", - "MORE": "Más", - "DELETE_USER": "Eliminar un usuario", - "EDIT_USER": "Editar usuario", - "DELETE_AGENT": "Eliminar agente", - "EDIT_AGENT": "Editar Agent", - "DELETE": "Eliminar", - "SAVE": "Guardar", - "ADD_USER": "Agregar usuario", - "ADD_AGENT": "Agregar agente", - "NO_RESULTS": "No hay resultados.", - "CLOSE_DIALOG": "Cerrar el cuadro de diálogo", - "NAME_REQUIRED": "Nombre (requerido)", - "USERNAME": "Nombre de usuario", - "SHOW_ALL_FIELDS": "Mostrar todos los campos", - "PHONE_NUMBER": "Número de teléfono", - "EMAIL": "Correo electrónico", - "PASSWORD": "Contraseña", + "HELP": { + "ALLOWCODECS": "Codecs permitidos en orden de preferencia", + "CALLGROUP": "El grupo de llamada del agente", + "CHATCAPACITY": "Número máximo de interacciones de canal simultáneas por agente (0 = ilimitado)", + "DTLSCERTFILE": "Enlace al certificado válido de TLS (archivo .crt). Valor predeterminado: '/etc/pki/tls/certs/motion.crt'.", + "DTLSPRIVATEKEY": "Enlace a la clave privada del certificado (archivo .key). Valor predeterminado: '/etc/pki/tls/private/motion.key'.", + "ENCRYPTION": "Cifrado SRTP (protocolo en tiempo real seguro)", + "FAXCAPACITY": "Número máximo de interacciones de canal simultáneas por agente (0 = ilimitado)", + "HOST": "Cómo encontrar el cliente: IP o nombre de host. Si desea que el teléfono se registre solo, use la palabra clave dynamic en lugar de Host IP", + "LAST_PASSWORD_RESET_AT": "Última fecha y hora en que se cambió la contraseña. Si la configuración general de Secure Suite está habilitada, la contraseña caducará después de 90 días.", + "MAILCAPACITY": "Número máximo de interacciones de canal simultáneas por agente (0 = ilimitado)", + "NAT": "Cambia el comportamiento de Asterisk para clientes detrás de un firewall. Si alguna de las opciones separadas por comas es 'no', Asterisk ignorará otras configuraciones y configurará nat = no", + "OPENCHANNELCAPACITY": "Número máximo de interacciones de canal simultáneas por agente (0 = ilimitado)", + "PICKUPGROUP": "Los grupos en los que el agente puede responder llamadas", + "SIPEXPIRES": "Valor predeterminado: 160", + "SIPPORT": "Por defecto: 5060", + "SMSCAPACITY": "Número máximo de interacciones de canal simultáneas por agente (0 = ilimitado)", + "TRANSPORT": "Establezca los transportes predeterminados en orden de preferencia", + "TYPE": "Determina el rol de SIP dentro de un asterisco. Usuario: utilizado para autenticar entrantes - Peer: para llamadas salientes - Amigo: cubre ambas características de las anteriores", + "USERNAME": "Solo se admiten números, letras y caracteres específicos (._)" + }, "ERRORS": { - "FULLNAME_REQUIRED": "El Fullname es obligatorio", - "USERNAME_REQUIRED": "El nombre de usuario es obligatorio", - "EMAIL_REQUIRED": "El correo electrónico es obligatorio", - "PASSWORD_REQUIRED": "Es necesaria la contraseña", - "CONFIRM_NOT_MATCH": "Las contraseñas no coinciden.", - "EMAIL_MUST_VALID": "El correo electrónico debe estar escrito en un formato válido", - "ACCOUNTNAME_REQUIRED": "Es necesario el nombre de la cuenta", - "NAME_REQUIRED": "El nombre es obligatorio", - "HOST_REQUIRED": "El Host es obligatorio", - "CHATCAPACITY_REQUIRED": "Se requiere la capacidad de Chat", - "MAILCAPACITY_REQUIRED": "Se requiere la capacidad de correo", - "FAXCAPACITY_REQUIRED": "Se requiere la capacidad de Fax", - "SMSCAPACITY_REQUIRED": "Se requiere la capacidad de SMS", - "OPENCHANNELCAPACITY_REQUIRED": "El canal abierto se requiere capacidad", - "SIPEXPIRES_REQUIRED": "La SIP se requiere de caducidad", - "SIPPORT_REQUIRED": "El puerto SIP es obligatorio", - "UNCONDITIONALNUMBER_REQUIRED": "El número es necesario incondicional", - "NOREPLYNUMBER_REQUIRED": "La respuesta no es necesario el número de", - "BUSYNUMBER_REQUIRED": "El concurrido número es necesario", - "USERNAME_MUST_VALID_PATTERN": "El nombre de usuario debe ser válida {{regex}}", - "REMOTECONTROLPORT_REQUIRED": "El control remoto puerto es necesario", - "CHATCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La capacidad de chat debe ser mayor o igual a", - "MAILCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La capacidad de correo debe ser mayor o igual a", - "FAXCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La capacidad de fax debe ser mayor o igual a", - "OPENCHANNELCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La capacidad de canal abierto debe ser mayor o igual a", - "AUTOANSWERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual a", + "ACCOUNTNAME_REQUIRED": "Campo obligatorio", + "ALLOWCODECS_REQUIRED": "Campo obligatorio", + "AUTOANSWERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", "AUTOANSWERDELAY_REQUIRED": "Campo obligatorio", - "MONITOREXTENSION_REQUIRED": "Campo obligatorio", - "ENCRYPTION": "Cifrado SRTP (protocolo en tiempo real seguro)", + "BUSYNUMBER_REQUIRED": "Campo obligatorio", + "CHATCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "CHATCAPACITY_REQUIRED": "Campo obligatorio", + "CONFIRM_NOT_MATCH": "Las contraseñas no coinciden", "DTLSCERTFILE_REQUIRED": "Campo obligatorio", "DTLSPRIVATEKEY_REQUIRED": "Campo obligatorio", + "EMAIL_MUST_VALID": "Formato erróneo", + "EMAIL_REQUIRED": "Campo obligatorio", + "ENCRYPTION": "Cifrado SRTP (protocolo en tiempo real seguro)", + "FAXCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "FAXCAPACITY_REQUIRED": "Campo obligatorio", + "FULLNAME_REQUIRED": "Campo obligatorio", + "HOST_REQUIRED": "Campo obligatorio", + "MAILCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "MAILCAPACITY_REQUIRED": "Campo obligatorio", + "MONITOREXTENSION_REQUIRED": "Campo obligatorio", + "NAME_REQUIRED": "Campo obligatorio", + "NOREPLYNUMBER_REQUIRED": "Campo obligatorio", + "OPENCHANNELCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "OPENCHANNELCAPACITY_REQUIRED": "Campo obligatorio", + "PASSWORD_REQUIRED": "Campo obligatorio", + "REMOTECONTROLPORT_REQUIRED": "Campo obligatorio", "SECURE_PASSWORD_PATTERN": "La contraseña debe tener al menos 8 caracteres de longitud y tener 1 carácter en minúscula, 1 carácter en mayúscula, 1 número y 1 carácter especial ~! @", - "ALLOWCODECS_REQUIRED": "Campo obligatorio" + "SIPEXPIRES_REQUIRED": "Campo obligatorio", + "SIPPORT_REQUIRED": "Campo obligatorio", + "SMSCAPACITY_REQUIRED": "Campo obligatorio", + "UNCONDITIONALNUMBER_REQUIRED": "Campo obligatorio", + "USERNAME_MUST_VALID_PATTERN": "Formato incorrecto {{regex}}", + "USERNAME_REQUIRED": "Campo obligatorio" }, "ACCOUNT": "Cuenta", - "VOICE": "Voz", - "CREATED_AT": "Creado en", - "ROLE": "Papel", - "PERSONAL_INFO": "Información personal", - "DESCRIPTION": "Descripción", - "CHANGE_AVATAR": "Cambiar Avatar", - "GENERAL": "General", - "INTERNAL": "Interno", - "TRANSPORT": "Transporte", + "ACCOUNTNAME": "Nombre de la cuenta", + "ADD_AGENT": "AGREGAR AGENTE", + "ADD_AGENT_TO_QUEUE": "Agregar agente a la cola", + "ADD_AGENT_TO_TEAM": "Agregar agente al equipo", + "ADD_TEAM": "Agregar equipo", + "ADD_TELEPHONE": "Agregar teléfono", + "ADD_USER": "AGREGAR USUARIO", + "AGENTADD_TEAM": "Agregar agentes al equipo", + "AGENTS": "Agentes", + "ALIAS": "Alias", "ALLOWCODECS": "Códecs permitidos", - "HELP": { - "ALLOWCODECS": "Códecs permitidos en orden de preferencia.", - "TRANSPORT": "Establecer el valor predeterminado de los transportes. El orden determina el principal transporte predeterminado.", - "HOST": "Cómo encontrar el cliente - IP o nombre de host. Si desea que el teléfono para registrarse, utilice la palabra clave dynamic en lugar del host IP.", - "NAT": "Cambia el comportamiento de Asterisk para clientes detrás de un firewall.Si ninguna de las opciones separadas por comas es 'no', Asterisco ignorará cualquier otra configuración y definir nat=no.", - "SIPEXPIRES": "Valor predeterminado: 160", - "SIPPORT": "Valor predeterminado: 5060", - "TYPE": "Determina la función SIP en Asterisk. Usuario: usado para autenticar entrante - Peer: para llamadas salientes - Amigo: cubre tanto las características de los anteriores.", - "CHATCAPACITY": "Cero significa ilimitado.", - "MAILCAPACITY": "Cero significa ilimitado.", - "FAXCAPACITY": "Cero significa ilimitado.", - "SMSCAPACITY": "Cero significa ilimitado.", - "OPENCHANNELCAPACITY": "Cero significa ilimitado.", - "CALLGROUP": "Define el agente callgroup", - "PICKUPGROUP": "Define los grupos en los que el agente puede responder llamadas", - "USERNAME": "Sólo los números, letras y caracteres específicos (_) son compatibles.", - "ENCRYPTION": "SRTP (Secure Realtime) Cifrado de protocolo", - "LAST_PASSWORD_RESET_AT": "Última fecha y hora en que se cambió la contraseña. Si la configuración general de Secure Suite está habilitada, la contraseña caducará después de 90 días.", - "DTLSCERTFILE": "Enlace al certificado válido de TLS (archivo .crt). Valor predeterminado: '/etc/pki/tls/certs/motion.crt'.", - "DTLSPRIVATEKEY": "Enlace a la clave privada del certificado (archivo .key). Valor predeterminado: '/etc/pki/tls/private/motion.key'." - }, - "NEW_PASSWORD": "Nueva contraseña", - "CONFIRM_PASSWORD": "Confirmar contraseña", - "CHANGE_PASSWORD": "Cambiar contraseña", - "CHANGEPASSWORD_AGENT": "Cambiar contraseña", - "CHANGEPASSWORD_USER": "Cambiar contraseña", - "CHANGEPASSWORD_TELEPHONE": "Cambiar contraseña", - "LOGININPAUSE": "Entra en pausa", - "HOST": "Host", - "NAT": "NAT", - "CHANSPY": "ChanSpy", - "OTHER_CHANNELS": "Otros canales", - "CHATCAPACITY": "La capacidad de chat", - "MAILCAPACITY": "Capacidad de correo", - "FAXCAPACITY": "Capacidad de fax", - "SMSCAPACITY": "Capacidad de SMS", - "OPENCHANNELCAPACITY": "Capacidad de canal abierto", - "MOTIONBAR": "Barra de movimiento", - "SETTINGS": "Configuración", + "ALL_AGENTS": "Todos los agentes", + "ALL_MODULES_AVAILABLE": "Todos los módulos disponibles", + "ALL_QUEUES_CHAT_INBOUND": "Todas las colas de chat", + "ALL_QUEUES_FAX_INBOUND": "Todas las colas de fax", + "ALL_QUEUES_MAIL_INBOUND": "Todas las colas de correo electrónico", + "ALL_QUEUES_OPENCHANNEL_INBOUND": "Todas las colas de canales abiertos", + "ALL_QUEUES_SMS_INBOUND": "Todas las colas SMS", + "ALL_QUEUES_VOICE_INBOUND": "Todas las colas de voz", + "ALL_QUEUES_VOICE_OUTBOUND": "Es Es> here>>>> Es here> Es>> States>>> Es>>>>>", + "ALL_TEAMS": "Todos los equipos", + "ALL_USERS": "Todos los usuarios", "AUTOANSWER": "Respuesta automática", - "ENABLESETTINGS": "Habilitar los ajustes", - "CALL_FORWARDING": "Desvío de llamadas", - "UNCONDITIONAL": "Incondicional", - "UNCONDITIONALNUMBER": "Número incondicional", - "NOREPLY": "Sin respuesta", - "NOREPLYNUMBER": "Ningún número de respuesta", - "BUSY": "Ocupada", - "BUSYNUMBER": "Número ocupado", - "REMOTE_CONTROL": "Control remoto", - "REMOTECONTROL": "Control remoto", - "REMOTECONTROLPORT": "Puerto de control remoto", - "SIP": "SIP", - "SIPEXPIRES": "Caduca SIP [s]", - "SIPPORT": "Puerto SIP", - "PENALTY": "Pena", - "ACCOUNTNAME": "Nombre de cuenta", - "ADD_TELEPHONE": "Añadir teléfono", - "EDIT_TELEPHONE": "Editar teléfono", - "DELETE_TELEPHONE": "Eliminar el teléfono", - "TEAMS": "Equipos", + "AUTOANSWERDELAY": "Demora de respuesta automática [s]", + "AUTOINTERNAL": "Auto generar número interno", + "A_TO_Z": "(De la A a la Z)", + "BACK": "Espalda", + "BUSY": "Ocupado", + "BUSYNUMBER": "Número Ocupado", + "CALLERID": "Identificador de llamadas", + "CALLFORWARDING": "Reenvío de llamadas", + "CALLGROUP": "Grupo de llamadas", + "CALL_FORWARDING": "Reenvío de llamadas", + "CAPACITY": "Capacidad", + "CHANGEPASSWORD_AGENT": "Cambia la contraseña", + "CHANGEPASSWORD_TELEPHONE": "Cambia la contraseña", + "CHANGEPASSWORD_USER": "Cambia la contraseña", + "CHANGE_AVATAR": "Cambiar avatar", + "CHANGE_PASSWORD": "Cambia la contraseña", + "CHANNELS": "Canales", + "CHANSPY": "ChanSpy", + "CHAT": "Charla", + "CHATCAPACITY": "Capacidad de chat", + "CLOSE_DIALOG": "Cerrar el diálogo", + "CONFIRM_PASSWORD": "Confirmar contraseña", + "CONTEXT": "Contexto", + "CREATED_AT": "Creado en", + "DELETE": "BORRAR", + "DELETE_AGENT": "Eliminar agente", + "DELETE_SELECTED": "Eliminar seleccionado", "DELETE_TEAM": "Eliminar equipo", - "AGENTADD_TEAM": "Añadir agentes a Team", - "EDIT_TEAM": "Edit Team", - "TYPE": "Tipo", - "TELEPHONES": "Teléfonos", - "CALLERID": "Caller ID (identificador de llamadas)", + "DELETE_TELEPHONE": "Eliminar teléfono", + "DELETE_USER": "Borrar usuario", + "DESCRIPTION": "Descripción", + "DND": "No molestar durante la pausa", + "DTLSCERTFILE": "Certificado TLS", + "DTLSPRIVATEKEY": "Clave privada del certificado TLS", + "EDITPERMISSIONS": "Edición de permisos", + "EDIT_AGENT": "Editar agente", + "EDIT_TEAM": "Editar equipo", + "EDIT_TELEPHONE": "Editar teléfono", + "EDIT_USER": "editar usuario", + "EMAIL": "Email", + "ENABLEDTMFTONE": "Habilitar tonos Dtmf", + "ENABLEMESSENGER": "Habilitar Messenger interno", "ENABLERECORDING": "Habilitar la grabación", - "STAFF": "Personal", + "ENABLESETTINGS": "Habilitar configuración", + "ENCRYPTION": "Cifrado", + "EXPORT_SELECTED": "Exportar seleccionado", + "FAX": "Fax", + "FAXCAPACITY": "Capacidad de fax", + "FULLNAME": "Nombre completo", + "GENERAL": "General", + "GENERAL_PERMISSIONS": "General", + "HOST": "Anfitrión", "ID": "Id", - "NEW_USER": "Nuevo Usuario", + "INTERNAL": "Interno", + "JOIN_QUEUE": "Únete a Queue", + "LAST_PASSWORD_RESET_AT": "Último restablecimiento de contraseña en", + "LOGININPAUSE": "Iniciar sesión en pausa", + "MAILCAPACITY": "Capacidad de correo electrónico", + "MOBILE": "Móvil", + "MONITOREXTENSION": "Grabar llamadas a la extensión de usuario", + "MORE": "Más", + "MOTIONBAR": "Motion Bar", + "MULTI_SELECT_TOGGLE": "multi selección alternar", + "NAME": "Nombre", + "NAME_REQUIRED": "Nombre (requerido)", + "NAT": "NAT", "NEW_AGENT": "Nuevo agente", - "NEW_TELEPHONE": "Nuevo teléfono", + "NEW_PASSWORD": "Nueva contraseña", "NEW_TEAM": "Nuevo equipo", - "ADD_TEAM": "Agregar equipo", - "JOIN_QUEUE": "Unirse a la cola", - "CAPACITY": "Capacidad", - "AUTOINTERNAL": "Generación automática de número interno", - "ADD_AGENT_TO_TEAM": "Agregar Agente al equipo", - "TEAMADD_AGENT": "Agregar Agente al equipo", + "NEW_TELEPHONE": "Nuevo teléfono", + "NEW_USER": "Nuevo usuario", + "NOREPLY": "Sin respuesta", + "NOREPLYNUMBER": "Sin número de respuesta", "NO_AVAILABLE_INFO": "No hay información disponible", + "NO_PASSWORD_CHANGE": "Sin cambio de contraseña", + "NO_RESULTS": "No hay resultados..", + "OF": "de", + "OPENCHANNEL": "Canal abierto", + "OPENCHANNELCAPACITY": "Capacidad de canal abierto", + "OTHER_CHANNELS": "Otros canales", + "OUTBOUNDPROXY": "Oubound Proxy", + "PAGE": "Página", + "PASSWORD": "Contraseña", + "PENALTY": "Pena", "PERMISSIONS": "Permisos", - "ADD_AGENT_TO_QUEUE": "Agregar a la cola del agente", - "ALL_MODULES_AVAILABLE": "Todos los módulos disponibles", - "CALLGROUP": "Grupos de llamadas", - "PICKUPGROUP": "Grupo de captura de llamadas", - "QUEUEADD_AGENT_VOICE_OUTBOUND": "Agregar Agente para campañas de cola", - "QUEUEADD_AGENT_VOICE_INBOUND": "Agregar Agente de colas de voz", - "QUEUEADD_AGENT_CHAT_INBOUND": "Agregar Agente de colas de chat", - "QUEUEADD_AGENT_MAIL_INBOUND": "Agregar Agente de colas de correo", - "QUEUEADD_AGENT_SMS_INBOUND": "Agregar Agente de colas de SMS", - "QUEUEADD_AGENT_OPENCHANNEL_INBOUND": "Agregar Agente de colas de Canal Abierto", - "QUEUEADD_AGENT_FAX_INBOUND": "Agregar Agente de colas de Fax", - "QUEUEADD_USER_VOICE_INBOUND": "Agregar usuario a colas de voz", + "PERSONAL_INFO": "Información personal", + "PHONE": "Teléfono", + "PHONE_NUMBER": "Número de teléfono", + "PICKUPGROUP": "Grupo de recogida", + "QUEUEADD_AGENT_CHAT_INBOUND": "Agregar agente a las colas de chat", + "QUEUEADD_AGENT_FAX_INBOUND": "Añadir agente a las colas de fax", + "QUEUEADD_AGENT_MAIL_INBOUND": "Agregar agente a las colas de correo electrónico", + "QUEUEADD_AGENT_OPENCHANNEL_INBOUND": "Agregar agente para abrir colas de canales", + "QUEUEADD_AGENT_SMS_INBOUND": "Agregar agente a colas SMS", + "QUEUEADD_AGENT_VOICE_INBOUND": "Agregar agente a colas de voz", + "QUEUEADD_AGENT_VOICE_OUTBOUND": "Agregar agente a las campañas de cola", "QUEUEADD_USER_CHAT_INBOUND": "Agregar usuario a colas de chat", - "QUEUEADD_USER_MAIL_INBOUND": "Agregar usuario a colas de correo", - "QUEUEADD_USER_SMS_INBOUND": "Agregar usuario a colas de SMS", - "QUEUEADD_USER_OPENCHANNEL_INBOUND": "Agregar usuario a colas de Canal Abierto", - "QUEUEADD_USER_FAX_INBOUND": "Agregar usuario a colas de Fax", - "ALL_TEAMS": "Todos los equipos", - "SELECTED_TEAMS": "Los equipos seleccionados", - "SELECTED_AGENTS": "Los agentes seleccionados", - "ALL_QUEUES_VOICE_OUTBOUND": "Todas las campañas de cola", - "SELECTED_QUEUES_VOICE_OUTBOUND": "Campañas de la cola seleccionada", - "ALL_QUEUES_VOICE_INBOUND": "Todas las colas de voz", - "SELECTED_QUEUES_VOICE_INBOUND": "Colas de voz seleccionado", - "ALL_QUEUES_CHAT_INBOUND": "Todas las colas de chat", - "SELECTED_QUEUES_CHAT_INBOUND": "Colas de chat seleccionado", - "ALL_QUEUES_MAIL_INBOUND": "Todas las colas de correo", - "SELECTED_QUEUES_MAIL_INBOUND": "Colas de correo seleccionado", - "ALL_QUEUES_SMS_INBOUND": "Todas las colas de SMS", - "SELECTED_QUEUES_SMS_INBOUND": "Colas de SMS seleccionado", - "ALL_QUEUES_OPENCHANNEL_INBOUND": "Todas las colas de Canal Abierto", - "SELECTED_QUEUES_OPENCHANNEL_INBOUND": "Colas de canal abierto seleccionado", - "ALL_QUEUES_FAX_INBOUND": "Todas las colas de Fax", - "SELECTED_QUEUES_FAX_INBOUND": "Colas de Fax seleccionado", - "VOICEMAIL": "Voicemail", - "SHOWWEBCONTROL": "Mostrar control Web", - "PAGE": "Página", - "ROWSPERPAGE": "Filas por página.", - "OF": "De", - "CALLFORWARDING": "Desvío de llamadas", - "DND": "Durante la pausa no molestar.", - "UNANSWEREDCALLBADGE": "Mostrar distintivo de llamada sin contestar", - "ENABLEDTMFTONE": "Activar tonos DTMF", - "AUTOANSWERDELAY": "Retardo de respuesta automática", - "ENCRYPTION": "Cifrado", - "CHANNELS": "Canales", - "CHAT": "Chat", - "SMS": "Sms", - "OPENCHANNEL": "Canal abierto", - "FAX": "Fax", - "QUEUEADD_USER_VOICE_OUTBOUND": "Agregar usuario a campañas de cola", - "MONITOREXTENSION": "Registro de llamadas a la extensión de usuario", - "NO_PASSWORD_CHANGE": "Sin cambio de contraseña", + "QUEUEADD_USER_FAX_INBOUND": "Agregar colas de usuario a fax", + "QUEUEADD_USER_MAIL_INBOUND": "Agregar usuario a colas de correo electrónico", + "QUEUEADD_USER_OPENCHANNEL_INBOUND": "Agregar usuario para abrir colas de canales", + "QUEUEADD_USER_SMS_INBOUND": "Agregar usuario a colas SMS", + "QUEUEADD_USER_VOICE_INBOUND": "Agregar colas de usuario a voz", + "QUEUEADD_USER_VOICE_OUTBOUND": "Agregar campañas de usuario a cola", + "READANDEDIT": "Leer, Editar", + "READANDEDITANDDELETE": "Leer, Editar, Eliminar", + "REMOTECONTROL": "Control remoto", + "REMOTECONTROLPORT": "Puerto de control remoto", + "REMOTE_CONTROL": "Control remoto", + "RINGINUSE": "Anillo en uso", + "ROLE": "Papel", + "ROWSPERPAGE": "Filas por página", + "SAVE": "SALVAR", + "SEARCH_FOR_ANYONE": "Busque a alguien", "SECURITY_SUITE": "Suite de seguridad", - "LAST_PASSWORD_RESET_AT": "Último restablecimiento de contraseña en", - "SIP_WEBRTC": "Sorbo", + "SELECTED": "Seleccionado", + "SELECTED_AGENTS": "Agentes seleccionados", + "SELECTED_QUEUES_CHAT_INBOUND": "Colas de chat seleccionadas", + "SELECTED_QUEUES_FAX_INBOUND": "Colas de fax seleccionadas", + "SELECTED_QUEUES_MAIL_INBOUND": "Colas de correo electrónico seleccionadas", + "SELECTED_QUEUES_OPENCHANNEL_INBOUND": "Colas de canal abierto seleccionadas", + "SELECTED_QUEUES_SMS_INBOUND": "Colas SMS seleccionadas", + "SELECTED_QUEUES_VOICE_INBOUND": "Colas de voz seleccionadas", + "SELECTED_QUEUES_VOICE_OUTBOUND": "Campañas de cola seleccionadas", + "SELECTED_TEAMS": "Equipos seleccionados", + "SELECT_ALL": "Seleccionar todo", + "SELECT_NONE": "Seleccione Ninguno", + "SETTINGS": "Configuraciones", "SETTINGS_WEBRTC": "Configuraciones", + "SHOWWEBCONTROL": "Tipología", + "SHOW_ALL_FIELDS": "Mostrar todos los campos", + "SIP": "sorbo", + "SIPEXPIRES": "SIP expira [sec]", + "SIPPORT": "Puerto SIP", + "SIP_WEBRTC": "Sorbo", + "SMS": "SMS", + "SMSCAPACITY": "Capacidad SMS", + "SORT": "ordenar", + "STAFF": "Personal", + "TEAMADD_AGENT": "Agregar agente al equipo", + "TEAMS": "Equipos", + "TELEPHONES": "Teléfonos", + "TOGGLE_SIDENAV": "Alternar sidenav", + "TRANSPORT": "Transporte", + "TYPE": "Tipo", + "UNANSWEREDCALLBADGE": "Mostrar distintivo de llamada sin respuesta", + "UNCONDITIONAL": "Incondicional", + "UNCONDITIONALNUMBER": "Número incondicional", + "USERNAME": "Nombre de usuario", + "USERS": "Usuarios", + "VOICE": "Voz", + "VOICEMAIL": "Mensaje de voz", "WEBRTC": "WebRTC", - "DTLSCERTFILE": "Certificado TLS", - "DTLSPRIVATEKEY": "Clave privada del certificado TLS", - "EDITPERMISSIONS": "Edición de permisos", - "READANDEDIT": "Leer, Editar", - "READANDEDITANDDELETE": "Leer, Editar, Eliminar", - "GENERAL_PERMISSIONS": "General", - "ENABLEMESSENGER": "Habilitar Messenger interno", - "OUTBOUNDPROXY": "Oubound Proxy", - "PHONE": "Teléfono", - "MOBILE": "Móvil" + "Z_TO_A": "(Z a A)" } } \ No newline at end of file diff --git a/public/app/main/apps/staff/i18n/fa.json b/public/app/main/apps/staff/i18n/fa.json index 5f9f861..3e93714 100644 --- a/public/app/main/apps/staff/i18n/fa.json +++ b/public/app/main/apps/staff/i18n/fa.json @@ -231,6 +231,7 @@ "ENABLEMESSENGER": "مسنجر داخلی را فعال کنید", "OUTBOUNDPROXY": "پروکسی Oubound", "PHONE": "تلفن", - "MOBILE": "سیار" + "MOBILE": "سیار", + "ALIAS": "نام مستعار" } } \ No newline at end of file diff --git a/public/app/main/apps/staff/i18n/fi.json b/public/app/main/apps/staff/i18n/fi.json index 2ea2103..2a41323 100644 --- a/public/app/main/apps/staff/i18n/fi.json +++ b/public/app/main/apps/staff/i18n/fi.json @@ -231,6 +231,7 @@ "ENABLEMESSENGER": "Ota sisäinen Messenger käyttöön", "OUTBOUNDPROXY": "Oubound Proxy", "PHONE": "Puhelin", - "MOBILE": "mobile" + "MOBILE": "mobile", + "ALIAS": "Alias" } } \ No newline at end of file diff --git a/public/app/main/apps/staff/i18n/fr.json b/public/app/main/apps/staff/i18n/fr.json index 326b21c..4db7c7d 100644 --- a/public/app/main/apps/staff/i18n/fr.json +++ b/public/app/main/apps/staff/i18n/fr.json @@ -231,6 +231,7 @@ "ENABLEMESSENGER": "Activer Messenger interne", "OUTBOUNDPROXY": "Oubound Proxy", "PHONE": "Téléphone", - "MOBILE": "Mobile" + "MOBILE": "Mobile", + "ALIAS": "Alias" } } \ No newline at end of file diff --git a/public/app/main/apps/staff/i18n/hi.json b/public/app/main/apps/staff/i18n/hi.json index b04b16e..febcfd3 100644 --- a/public/app/main/apps/staff/i18n/hi.json +++ b/public/app/main/apps/staff/i18n/hi.json @@ -231,6 +231,7 @@ "ENABLEMESSENGER": "आंतरिक मैसेंजर सक्षम करें", "OUTBOUNDPROXY": "ओबॉन्ड प्रॉक्सी", "PHONE": "फ़ोन", - "MOBILE": "मोबाइल" + "MOBILE": "मोबाइल", + "ALIAS": "उपनाम" } } \ No newline at end of file diff --git a/public/app/main/apps/staff/i18n/it.json b/public/app/main/apps/staff/i18n/it.json index e3584a6..5f75278 100644 --- a/public/app/main/apps/staff/i18n/it.json +++ b/public/app/main/apps/staff/i18n/it.json @@ -1,5 +1,6 @@ { "STAFF": { + "ALIAS": "Alias", "NO_PASSWORD_CHANGE": "Nessun Cambio Password", "SECURITY_SUITE": "Suite Sicurezza", "LAST_PASSWORD_RESET_AT": "Ultimo cambio password il", diff --git a/public/app/main/apps/staff/i18n/ja.json b/public/app/main/apps/staff/i18n/ja.json index 08a160e..ef6b305 100644 --- a/public/app/main/apps/staff/i18n/ja.json +++ b/public/app/main/apps/staff/i18n/ja.json @@ -1,236 +1,237 @@ { "STAFF": { - "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": "( A ~ Z )", - "Z_TO_A": "( A ~ Z )", - "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": { - "FULLNAME_REQUIRED": "Fullname の値は ' この必要な", - "USERNAME_REQUIRED": "ユーザ名が必要です", - "EMAIL_REQUIRED": "E メールは必須です", - "PASSWORD_REQUIRED": "パスワードが必要です", + "ACCOUNTNAME_REQUIRED": "必須フィールド", + "ALLOWCODECS_REQUIRED": "必須フィールド", + "AUTOANSWERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "AUTOANSWERDELAY_REQUIRED": "必須フィールド", + "BUSYNUMBER_REQUIRED": "必須フィールド", + "CHATCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "CHATCAPACITY_REQUIRED": "必須フィールド", "CONFIRM_NOT_MATCH": "パスワードが一致しません", - "EMAIL_MUST_VALID": "メールは有効な形式で記述する必要があります", - "ACCOUNTNAME_REQUIRED": "アカウント名が必要です", - "NAME_REQUIRED": "名前は必須です", - "HOST_REQUIRED": "は、ホストが必要です", - "CHATCAPACITY_REQUIRED": "チャットの容量が必要です", - "MAILCAPACITY_REQUIRED": "メールの容量が必要です", - "FAXCAPACITY_REQUIRED": "Fax の容量が必要です", - "SMSCAPACITY_REQUIRED": "SMS の容量が必要です", - "OPENCHANNELCAPACITY_REQUIRED": "のオープンチャネルの容量が必要です", - "SIPEXPIRES_REQUIRED": "SIP の使用期限が必要です", - "SIPPORT_REQUIRED": "SIP のポートが必要です", - "UNCONDITIONALNUMBER_REQUIRED": "の無条件の番号が必要です。", - "NOREPLYNUMBER_REQUIRED": "No 返信番号が必要です。", - "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": "Fax の容量以上である必要があります", - "OPENCHANNELCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "のオープンチャネルの容量以上である必要があります", - "AUTOANSWERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "この値以上にする必要があります。", - "AUTOANSWERDELAY_REQUIRED": "必須フィールドです。", - "MONITOREXTENSION_REQUIRED": "必須フィールドです。", - "ENCRYPTION": "SRTP(セキュアリアルタイムプロトコル)暗号化", "DTLSCERTFILE_REQUIRED": "必須フィールド", "DTLSPRIVATEKEY_REQUIRED": "必須フィールド", + "EMAIL_MUST_VALID": "間違ったフォーマット", + "EMAIL_REQUIRED": "必須フィールド", + "ENCRYPTION": "SRTP(セキュアリアルタイムプロトコル)暗号化", + "FAXCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "FAXCAPACITY_REQUIRED": "必須フィールド", + "FULLNAME_REQUIRED": "必須フィールド", + "HOST_REQUIRED": "必須フィールド", + "MAILCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "MAILCAPACITY_REQUIRED": "必須フィールド", + "MONITOREXTENSION_REQUIRED": "必須フィールド", + "NAME_REQUIRED": "必須フィールド", + "NOREPLYNUMBER_REQUIRED": "必須フィールド", + "OPENCHANNELCAPACITY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "OPENCHANNELCAPACITY_REQUIRED": "必須フィールド", + "PASSWORD_REQUIRED": "必須フィールド", + "REMOTECONTROLPORT_REQUIRED": "必須フィールド", "SECURE_PASSWORD_PATTERN": "パスワードは8文字以上で、小文字1文字、大文字1文字、数字1文字、特殊文字1文字〜!@", - "ALLOWCODECS_REQUIRED": "必須フィールド" + "SIPEXPIRES_REQUIRED": "必須フィールド", + "SIPPORT_REQUIRED": "必須フィールド", + "SMSCAPACITY_REQUIRED": "必須フィールド", + "UNCONDITIONALNUMBER_REQUIRED": "必須フィールド", + "USERNAME_MUST_VALID_PATTERN": "間違ったフォーマット{{regex}}", + "USERNAME_REQUIRED": "必須フィールド" }, - "ACCOUNT": "アカウント", - "VOICE": "音声", - "CREATED_AT": "で作成された", - "ROLE": "役割", - "PERSONAL_INFO": "「個人情報」", - "DESCRIPTION": "説明", - "CHANGE_AVATAR": "アバターの変更", - "GENERAL": "一般的な", - "INTERNAL": "内部", - "TRANSPORT": "交通機関", - "ALLOWCODECS": "許可されているコーデック", "HELP": { - "ALLOWCODECS": "環境設定の順序で許可される CODEC", - "TRANSPORT": "デフォルトの転送を設定します。 順序は、プライマリデフォルトのトランスポートを指定します。", - "HOST": "は、クライアントの IP アドレスまたはホスト名を検索する方法を説明します。 電話機を自動登録する自体、する場合に、ホストの IP アドレスの代わりに、ダイナミックには、キーワードを使用します。", - "NAT": "ファイアウォールの背後にあるクライアントの場合はアスタリスクの動作を変更できます。カンマのいずれかで区切られたオプションが ' いいえ ' の場合にアスタリスクが付いている他のすべての設定項目を設定し、 nat = no を無視する", - "SIPEXPIRES": "デフォルト値 : 160", - "SIPPORT": "デフォルト値 : 5060", - "TYPE": "アスタリスク内の SIP の役割を決定します。 ユーザは、次の着信を認証するピア : 発信コールの友人のために上記の両方の特性をカバーするために使用されます。", - "CHATCAPACITY": "ゼロは制限なしを意味します。", - "MAILCAPACITY": "ゼロは制限なしを意味します。", - "FAXCAPACITY": "ゼロは制限なしを意味します。", - "SMSCAPACITY": "ゼロは制限なしを意味します。", - "OPENCHANNELCAPACITY": "ゼロは制限なしを意味します。", - "CALLGROUP": "エージェントの callgroup を定義します。", - "PICKUPGROUP": "エージェントがコールに応答できますが、グループを定義します。", - "USERNAME": "数字、文字、およびのみ特定の文字 ( 。 ) はサポートされています", - "ENCRYPTION": "SRTP (セキュアリアルタイムプロトコル)の暗号化", - "LAST_PASSWORD_RESET_AT": "パスワードが変更された最終日時。 Secure Suiteの一般設定が有効な場合、パスワードは90日後に失効します。", + "ALLOWCODECS": "好みの順番で許可されたコーデック", + "CALLGROUP": "エージェントのコールグループ", + "CHATCAPACITY": "エージェントあたりの同時チャネルインタラクションの最大数(0 =無制限)", "DTLSCERTFILE": "有効なTLS証明書(.crtファイル)にリンクします。デフォルト値: '/etc/pki/tls/certs/motion.crt'。", - "DTLSPRIVATEKEY": "証明書の秘密鍵(.keyファイル)にリンクします。デフォルト値: '/etc/pki/tls/private/motion.key'。" + "DTLSPRIVATEKEY": "証明書の秘密鍵(.keyファイル)にリンクします。デフォルト値: '/etc/pki/tls/private/motion.key'。", + "ENCRYPTION": "SRTP(セキュアリアルタイムプロトコル)暗号化", + "FAXCAPACITY": "エージェントあたりの同時チャネルインタラクションの最大数(0 =無制限)", + "HOST": "クライアントを見つける方法 - IPまたはホスト名。電話機を登録するには、Host IPの代わりにキーワードdynamicを使用します", + "LAST_PASSWORD_RESET_AT": "パスワードが変更された最終日時。 Secure Suiteの一般設定が有効な場合、パスワードは90日後に失効します。", + "MAILCAPACITY": "エージェントあたりの同時チャネルインタラクションの最大数(0 =無制限)", + "NAT": "ファイアウォールの背後にあるクライアントのAsteriskの動作を変更します。カンマ区切りのオプションのいずれかが 'no'の場合、アスタリスクは他の設定を無視し、nat = noを設定します", + "OPENCHANNELCAPACITY": "エージェントあたりの同時チャネルインタラクションの最大数(0 =無制限)", + "PICKUPGROUP": "エージェントがコールに応答できるグループ", + "SIPEXPIRES": "デフォルト:160", + "SIPPORT": "デフォルト:5060", + "SMSCAPACITY": "エージェントあたりの同時チャネルインタラクションの最大数(0 =無制限)", + "TRANSPORT": "優先度の高い順にデフォルトの転送を設定する", + "TYPE": "アスタリスク内のSIPロールを決定します。ユーザ:着信を認証するために使用 - ピア:発信コール用 - フレンド:上記の両方の特性をカバー", + "USERNAME": "数字、文字、および特定の文字(._)のみがサポートされています" }, - "NEW_PASSWORD": "新しいパスワード", - "CONFIRM_PASSWORD": "パスワードを確認します", - "CHANGE_PASSWORD": "パスワードの変更", - "CHANGEPASSWORD_AGENT": "パスワードの変更", - "CHANGEPASSWORD_USER": "パスワードの変更", - "CHANGEPASSWORD_TELEPHONE": "パスワードの変更", - "LOGININPAUSE": "一時停止でのログイン", - "HOST": "ホスト", - "NAT": "NAT", - "CHANSPY": "ChanSpy", - "OTHER_CHANNELS": "他のチャネル", - "CHATCAPACITY": "チャットの容量", - "MAILCAPACITY": "メールの容量", - "FAXCAPACITY": "Fax 容量", - "SMSCAPACITY": "Sms の容量", - "OPENCHANNELCAPACITY": "オープンチャネルのキャパシティ", - "MOTIONBAR": "運動可能バー", - "SETTINGS": "の設定", - "AUTOANSWER": "自動応答", - "ENABLESETTINGS": "設定を有効にします。", - "CALL_FORWARDING": "コールの転送", - "UNCONDITIONAL": "無条件", - "UNCONDITIONALNUMBER": "無条件の数", - "NOREPLY": "応答がありません。", - "NOREPLYNUMBER": "返信数がありません", - "BUSY": "ビジー", - "BUSYNUMBER": "ビジーの番号", - "REMOTE_CONTROL": "リモート・コントロール", - "REMOTECONTROL": "リモート・コントロール", - "REMOTECONTROLPORT": "リモート制御ポート", - "SIP": "SIP", - "SIPEXPIRES": "SIP の期限が切れる [ 秒 ]", - "SIPPORT": "SIP ポート", - "PENALTY": "ペナルティ", + "ACCOUNT": "アカウント", "ACCOUNTNAME": "アカウント名", - "ADD_TELEPHONE": "電話番号の追加", - "EDIT_TELEPHONE": "電話の編集", - "DELETE_TELEPHONE": "電話を削除", - "TEAMS": "チーム", - "DELETE_TEAM": "チームを削除します", + "ADD_AGENT": "エージェントを追加する", + "ADD_AGENT_TO_QUEUE": "エージェントをキューに追加する", + "ADD_AGENT_TO_TEAM": "チームにエージェントを追加する", + "ADD_TEAM": "チームを追加", + "ADD_TELEPHONE": "電話を追加する", + "ADD_USER": "ユーザーを追加する", "AGENTADD_TEAM": "チームにエージェントを追加する", - "EDIT_TEAM": "チームの編集", - "TYPE": "タイプ", - "TELEPHONES": "電話", - "CALLERID": "発信者 ID", - "ENABLERECORDING": "記録を有効にする", - "STAFF": "スタッフ", - "ID": "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": "エージェントの FAX キューを追加するには", - "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": "ユーザのファックスキューを追加するには", + "AGENTS": "エージェント", + "ALIAS": "エイリアス", + "ALLOWCODECS": "許可されたコーデック", + "ALL_AGENTS": "すべてのエージェント", + "ALL_MODULES_AVAILABLE": "利用可能なすべてのモジュール", + "ALL_QUEUES_CHAT_INBOUND": "すべてのチャットキュー", + "ALL_QUEUES_FAX_INBOUND": "すべてのFAXキュー", + "ALL_QUEUES_MAIL_INBOUND": "すべての電子メールキュー", + "ALL_QUEUES_OPENCHANNEL_INBOUND": "すべてのオープンチャネルキュー", + "ALL_QUEUES_SMS_INBOUND": "すべてのSMSキュー", + "ALL_QUEUES_VOICE_INBOUND": "すべての音声キュー", + "ALL_QUEUES_VOICE_OUTBOUND": "すべてのキューキャンペーン", "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": "Web コントロールを表示", - "PAGE": "ページ", - "ROWSPERPAGE": "ページあたりの行数", - "OF": "の", - "CALLFORWARDING": "コールの転送", - "DND": "一時停止中に邪魔をしないでください", - "UNANSWEREDCALLBADGE": "応答のないコールバッジ", - "ENABLEDTMFTONE": "Dtmf トーンを有効にする", - "AUTOANSWERDELAY": "自動応答遅延", - "ENCRYPTION": "暗号化", + "ALL_USERS": "すべてのユーザー", + "AUTOANSWER": "自動応答", + "AUTOANSWERDELAY": "自動応答遅延[秒]", + "AUTOINTERNAL": "自動的に内部番号を生成する", + "A_TO_Z": "(A〜Z)", + "BACK": "バック", + "BUSY": "忙しい", + "BUSYNUMBER": "ビジー番号", + "CALLERID": "発信者ID", + "CALLFORWARDING": "コール転送", + "CALLGROUP": "コールグループ", + "CALL_FORWARDING": "コール転送", + "CAPACITY": "容量", + "CHANGEPASSWORD_AGENT": "パスワードを変更する", + "CHANGEPASSWORD_TELEPHONE": "パスワードを変更する", + "CHANGEPASSWORD_USER": "パスワードを変更する", + "CHANGE_AVATAR": "アバターを変更する", + "CHANGE_PASSWORD": "パスワードを変更する", "CHANNELS": "チャンネル", + "CHANSPY": "ChanSpy", "CHAT": "チャット", - "SMS": "Sms", - "OPENCHANNEL": "オープンチャネル", - "FAX": "ファクス", - "QUEUEADD_USER_VOICE_OUTBOUND": "ユーザーキューキャンペーンを追加します。", - "MONITOREXTENSION": "ユーザーの内線番号への通話記録", - "NO_PASSWORD_CHANGE": "パスワードの変更なし", - "SECURITY_SUITE": "セキュリティスイート", - "LAST_PASSWORD_RESET_AT": "最後のパスワードリセット時", - "SIP_WEBRTC": "Sip", - "SETTINGS_WEBRTC": "設定", - "WEBRTC": "WebRTC", + "CHATCAPACITY": "チャット容量", + "CLOSE_DIALOG": "ダイアログを閉じる", + "CONFIRM_PASSWORD": "パスワードを認証する", + "CONTEXT": "コンテキスト", + "CREATED_AT": "作成者:", + "DELETE": "削除", + "DELETE_AGENT": "エージェントの削除", + "DELETE_SELECTED": "選択を削除します", + "DELETE_TEAM": "チームを削除", + "DELETE_TELEPHONE": "電話を削除する", + "DELETE_USER": "ユーザーを削除", + "DESCRIPTION": "説明", + "DND": "一時停止中に邪魔しないでください", "DTLSCERTFILE": "TLS証明書", "DTLSPRIVATEKEY": "TLS証明書の秘密鍵", "EDITPERMISSIONS": "権限の編集", - "READANDEDIT": "読み取り、編集", - "READANDEDITANDDELETE": "読み取り、編集、削除", - "GENERAL_PERMISSIONS": "一般", + "EDIT_AGENT": "エージェントの編集", + "EDIT_TEAM": "チームを編集", + "EDIT_TELEPHONE": "電話の編集", + "EDIT_USER": "ユーザーの編集", + "EMAIL": "Eメール", + "ENABLEDTMFTONE": "Dtmfトーンを有効にする", "ENABLEMESSENGER": "内部メッセンジャーを有効にする", + "ENABLERECORDING": "録音を有効にする", + "ENABLESETTINGS": "設定を有効にする", + "ENCRYPTION": "暗号化", + "EXPORT_SELECTED": "選択されたエクスポート", + "FAX": "ファックス", + "FAXCAPACITY": "ファックス容量", + "FULLNAME": "フルネーム", + "GENERAL": "一般", + "GENERAL_PERMISSIONS": "一般", + "HOST": "ホスト", + "ID": "イド", + "INTERNAL": "内部", + "JOIN_QUEUE": "結合キュー", + "LAST_PASSWORD_RESET_AT": "最後のパスワードリセット時", + "LOGININPAUSE": "一時停止中のログイン", + "MAILCAPACITY": "メール容量", + "MOBILE": "モバイル", + "MONITOREXTENSION": "ユーザ内線番号へのコールを録音する", + "MORE": "もっと", + "MOTIONBAR": "モーションバー", + "MULTI_SELECT_TOGGLE": "マルチセレクトトグル", + "NAME": "名", + "NAME_REQUIRED": "名前(必須)", + "NAT": "NAT", + "NEW_AGENT": "新エージェント", + "NEW_PASSWORD": "新しいパスワード", + "NEW_TEAM": "新しいチーム", + "NEW_TELEPHONE": "新しい電話", + "NEW_USER": "新しいユーザー", + "NOREPLY": "応答なし", + "NOREPLYNUMBER": "返信番号なし", + "NO_AVAILABLE_INFO": "利用可能な情報がありません", + "NO_PASSWORD_CHANGE": "パスワードの変更なし", + "NO_RESULTS": "結果がありません..", + "OF": "の", + "OPENCHANNEL": "オープンチャンネル", + "OPENCHANNELCAPACITY": "オープンチャネル容量", + "OTHER_CHANNELS": "他のチャンネル", "OUTBOUNDPROXY": "Ouboundプロキシ", + "PAGE": "ページ", + "PASSWORD": "パスワード", + "PENALTY": "ペナルティ", + "PERMISSIONS": "アクセス許可", + "PERSONAL_INFO": "個人情報", "PHONE": "電話", - "MOBILE": "モバイル" + "PHONE_NUMBER": "電話番号", + "PICKUPGROUP": "ピックアップグループ", + "QUEUEADD_AGENT_CHAT_INBOUND": "チャットキューにエージェントを追加する", + "QUEUEADD_AGENT_FAX_INBOUND": "FAXキューにエージェントを追加する", + "QUEUEADD_AGENT_MAIL_INBOUND": "電子メールキューにエージェントを追加する", + "QUEUEADD_AGENT_OPENCHANNEL_INBOUND": "オープンチャネルキューにエージェントを追加する", + "QUEUEADD_AGENT_SMS_INBOUND": "SMSキューにエージェントを追加する", + "QUEUEADD_AGENT_VOICE_INBOUND": "音声キューにエージェントを追加する", + "QUEUEADD_AGENT_VOICE_OUTBOUND": "キューにエージェントを追加するキャンペーン", + "QUEUEADD_USER_CHAT_INBOUND": "チャットキューにユーザーを追加する", + "QUEUEADD_USER_FAX_INBOUND": "FAXキューにユーザーを追加する", + "QUEUEADD_USER_MAIL_INBOUND": "電子メールキューにユーザーを追加する", + "QUEUEADD_USER_OPENCHANNEL_INBOUND": "開いているチャネルキューにユーザーを追加する", + "QUEUEADD_USER_SMS_INBOUND": "SMSキューにユーザーを追加する", + "QUEUEADD_USER_VOICE_INBOUND": "音声キューにユーザを追加する", + "QUEUEADD_USER_VOICE_OUTBOUND": "キューキャンペーンにユーザーを追加する", + "READANDEDIT": "読み取り、編集", + "READANDEDITANDDELETE": "読み取り、編集、削除", + "REMOTECONTROL": "リモコン", + "REMOTECONTROLPORT": "リモートコントロールポート", + "REMOTE_CONTROL": "リモコン", + "RINGINUSE": "使用中のリング", + "ROLE": "役割", + "ROWSPERPAGE": "ページあたりの行数", + "SAVE": "セーブ", + "SEARCH_FOR_ANYONE": "サーチ", + "SECURITY_SUITE": "セキュリティスイート", + "SELECTED": "選択された", + "SELECTED_AGENTS": "選択されたエージェント", + "SELECTED_QUEUES_CHAT_INBOUND": "選択されたチャットキュー", + "SELECTED_QUEUES_FAX_INBOUND": "選択されたFAXキュー", + "SELECTED_QUEUES_MAIL_INBOUND": "選択した電子メールキュー", + "SELECTED_QUEUES_OPENCHANNEL_INBOUND": "選択されたオープンチャネルキュー", + "SELECTED_QUEUES_SMS_INBOUND": "選択されたSMSキュー", + "SELECTED_QUEUES_VOICE_INBOUND": "選択された音声キュー", + "SELECTED_QUEUES_VOICE_OUTBOUND": "選択したキューキャンペーン", + "SELECTED_TEAMS": "選ばれたチーム", + "SELECT_ALL": "すべて選択", + "SELECT_NONE": "選択なし", + "SETTINGS": "設定", + "SETTINGS_WEBRTC": "設定", + "SHOWWEBCONTROL": "類型学", + "SHOW_ALL_FIELDS": "すべてのフィールドを表示", + "SIP": "SIP", + "SIPEXPIRES": "SIPの有効期限[秒]", + "SIPPORT": "SIPポート", + "SIP_WEBRTC": "Sip", + "SMS": "SMS", + "SMSCAPACITY": "SMS容量", + "SORT": "ソート", + "STAFF": "スタッフ", + "TEAMADD_AGENT": "チームにエージェントを追加する", + "TEAMS": "チーム", + "TELEPHONES": "電話", + "TOGGLE_SIDENAV": "Toggle sidenav", + "TRANSPORT": "輸送", + "TYPE": "タイプ", + "UNANSWEREDCALLBADGE": "未回答のコールバッジを表示する", + "UNCONDITIONAL": "無条件", + "UNCONDITIONALNUMBER": "無条件の番号", + "USERNAME": "ユーザー名", + "USERS": "ユーザー", + "VOICE": "音声", + "VOICEMAIL": "ボイスメール", + "WEBRTC": "WebRTC", + "Z_TO_A": "(Z〜A)" } } \ No newline at end of file diff --git a/public/app/main/apps/staff/i18n/ko.json b/public/app/main/apps/staff/i18n/ko.json index f5945e5..6fad854 100644 --- a/public/app/main/apps/staff/i18n/ko.json +++ b/public/app/main/apps/staff/i18n/ko.json @@ -231,6 +231,7 @@ "ENABLEMESSENGER": "내부 메신저 사용", "OUTBOUNDPROXY": "Oubound 프록시", "PHONE": "전화", - "MOBILE": "변하기 쉬운" + "MOBILE": "변하기 쉬운", + "ALIAS": "별명" } } \ No newline at end of file diff --git a/public/app/main/apps/staff/i18n/lv.json b/public/app/main/apps/staff/i18n/lv.json index c24f602..65067c1 100644 --- a/public/app/main/apps/staff/i18n/lv.json +++ b/public/app/main/apps/staff/i18n/lv.json @@ -231,6 +231,7 @@ "ENABLEMESSENGER": "Iespējot iekšējo Messenger", "OUTBOUNDPROXY": "Oubound Proxy", "PHONE": "Tālrunis", - "MOBILE": "Mobilais" + "MOBILE": "Mobilais", + "ALIAS": "Alias" } } \ No newline at end of file diff --git a/public/app/main/apps/staff/i18n/nl.json b/public/app/main/apps/staff/i18n/nl.json index 6133700..619099e 100644 --- a/public/app/main/apps/staff/i18n/nl.json +++ b/public/app/main/apps/staff/i18n/nl.json @@ -231,6 +231,7 @@ "ENABLEMESSENGER": "Schakel interne Messenger in", "OUTBOUNDPROXY": "Oubound Proxy", "PHONE": "Telefoon", - "MOBILE": "mobiel" + "MOBILE": "mobiel", + "ALIAS": "Alias" } } \ No newline at end of file diff --git a/public/app/main/apps/staff/i18n/no.json b/public/app/main/apps/staff/i18n/no.json index c5a4cd8..746f8f1 100644 --- a/public/app/main/apps/staff/i18n/no.json +++ b/public/app/main/apps/staff/i18n/no.json @@ -231,6 +231,7 @@ "ENABLEMESSENGER": "Aktiver intern Messenger", "OUTBOUNDPROXY": "Oubound Proxy", "PHONE": "telefon", - "MOBILE": "Mobil" + "MOBILE": "Mobil", + "ALIAS": "Alias" } } \ No newline at end of file diff --git a/public/app/main/apps/staff/i18n/pl.json b/public/app/main/apps/staff/i18n/pl.json index 4edc7a2..0cc0303 100644 --- a/public/app/main/apps/staff/i18n/pl.json +++ b/public/app/main/apps/staff/i18n/pl.json @@ -231,6 +231,7 @@ "ENABLEMESSENGER": "Włącz komunikator wewnętrzny", "OUTBOUNDPROXY": "Oubound Proxy", "PHONE": "Telefon", - "MOBILE": "mobilny" + "MOBILE": "mobilny", + "ALIAS": "Alias" } } \ No newline at end of file diff --git a/public/app/main/apps/staff/i18n/pt-PT.json b/public/app/main/apps/staff/i18n/pt-PT.json index 74e1a04..9c7d39e 100644 --- a/public/app/main/apps/staff/i18n/pt-PT.json +++ b/public/app/main/apps/staff/i18n/pt-PT.json @@ -231,6 +231,7 @@ "ENABLEMESSENGER": "Ativar mensageiro interno", "OUTBOUNDPROXY": "Oubound Proxy", "PHONE": "telefone", - "MOBILE": "Móvel" + "MOBILE": "Móvel", + "ALIAS": "Alias" } } \ No newline at end of file diff --git a/public/app/main/apps/staff/i18n/ru.json b/public/app/main/apps/staff/i18n/ru.json index 6c91d9f..3814ee5 100644 --- a/public/app/main/apps/staff/i18n/ru.json +++ b/public/app/main/apps/staff/i18n/ru.json @@ -231,6 +231,7 @@ "ENABLEMESSENGER": "Включить внутренний посланник", "OUTBOUNDPROXY": "Oubound Proxy", "PHONE": "Телефон", - "MOBILE": "мобильный" + "MOBILE": "мобильный", + "ALIAS": "кличка" } } \ No newline at end of file diff --git a/public/app/main/apps/staff/i18n/sv.json b/public/app/main/apps/staff/i18n/sv.json index ba52a82..d36f191 100644 --- a/public/app/main/apps/staff/i18n/sv.json +++ b/public/app/main/apps/staff/i18n/sv.json @@ -231,6 +231,7 @@ "ENABLEMESSENGER": "Aktivera intern Messenger", "OUTBOUNDPROXY": "Oubound Proxy", "PHONE": "Telefon", - "MOBILE": "Mobil" + "MOBILE": "Mobil", + "ALIAS": "Alias" } } \ No newline at end of file diff --git a/public/app/main/apps/staff/i18n/tr.json b/public/app/main/apps/staff/i18n/tr.json index a5583d7..7254644 100644 --- a/public/app/main/apps/staff/i18n/tr.json +++ b/public/app/main/apps/staff/i18n/tr.json @@ -231,6 +231,7 @@ "ENABLEMESSENGER": "Dahili Messenger'ı Etkinleştir", "OUTBOUNDPROXY": "Oubound Proxy", "PHONE": "Telefon", - "MOBILE": "seyyar" + "MOBILE": "seyyar", + "ALIAS": "takma ad" } } \ No newline at end of file diff --git a/public/app/main/apps/staff/i18n/zh-CN.json b/public/app/main/apps/staff/i18n/zh-CN.json index cf630dc..3f68acf 100644 --- a/public/app/main/apps/staff/i18n/zh-CN.json +++ b/public/app/main/apps/staff/i18n/zh-CN.json @@ -231,6 +231,7 @@ "ENABLEMESSENGER": "启用内部信使", "OUTBOUNDPROXY": "Oubound代理", "PHONE": "电话", - "MOBILE": "移动" + "MOBILE": "移动", + "ALIAS": "别号" } } \ No newline at end of file diff --git a/public/app/main/apps/staff/i18n/zh-TW.json b/public/app/main/apps/staff/i18n/zh-TW.json index f1c9ced..ea65efd 100644 --- a/public/app/main/apps/staff/i18n/zh-TW.json +++ b/public/app/main/apps/staff/i18n/zh-TW.json @@ -231,6 +231,7 @@ "ENABLEMESSENGER": "啟用內部信使", "OUTBOUNDPROXY": "Oubound代理", "PHONE": "電話", - "MOBILE": "移動" + "MOBILE": "移動", + "ALIAS": "別號" } } \ 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 8d0aa9f..1d42a0f 100644 --- a/public/app/main/apps/tools/i18n/en.json +++ b/public/app/main/apps/tools/i18n/en.json @@ -42,7 +42,7 @@ "CALL": "Call", "NAME": "Name", "TRUNKS": "Trunks", - "SEARCH_FOR_ANYONE": "Search for anyone", + "SEARCH_FOR_ANYONE": "Search", "ERRORS": { "REFRESH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "The value must be greater than or equal to", "REFRESH_REQUIRED": "Mandatory field", diff --git a/public/app/main/apps/tools/i18n/es.json b/public/app/main/apps/tools/i18n/es.json index 43b1c7d..032a3d2 100644 --- a/public/app/main/apps/tools/i18n/es.json +++ b/public/app/main/apps/tools/i18n/es.json @@ -1,411 +1,411 @@ { "TOOLS": { - "CALL": "Llame", - "NAME": "Nombre", - "TRUNKS": "Enlaces", - "SEARCH_FOR_ANYONE": "Buscar a alguien", + "HELP": { + "ADD_PHONE_TO_URI": "Definir si el proveedor requiere '; user = phone' en URL", + "ALLOWCODECS": "Códecs permitidos en orden de preferencia", + "CALLCOUNTER": "Habilitar contadores de llamadas en dispositivos", + "CALLERID": "El identificador de llamadas, en el formato \"nombre\" ", + "CALL_LIMIT": "El número límite de las llamadas concurrentes entrantes y salientes", + "CONTEXT": "El contexto para el tronco", + "DEFAULTUSER": "Nombre de usuario de autenticación", + "DIRECTMEDIA": "Asterisk de forma predeterminada intenta redirigir la transmisión de medios RTP para ir directamente de la persona que llama al destinatario. Algunos dispositivos no son compatibles con esto (especialmente si uno de ellos está detrás de un NAT). La configuración predeterminada es SÍ. Si tiene todos los clientes detrás de una NAT, o por alguna otra razón desea que Asterisk permanezca en la ruta de audio, es posible que desee desactivarlo.", + "DTMFMODE": "Cómo se envían DTMF (Dual-Tone Multi-Frequency). RFC2833: el modo predeterminado, los DTMF se envían con RTP pero fuera de la transmisión de audio. INBAND: El DTMF se envía en audio de la conversación actual, siendo audible desde los altavoces. Requiere una alta carga de CPU. INFORMACIÓN: Aunque este método es muy confiable, no es compatible con todos los dispositivos PBX y muchos enlaces troncales SIP.", + "EMAILADDRESS": "Agregue una o varias direcciones separadas por comas (por ejemplo, john.doe@xcally.com, jane.miller@xcally.com)", + "ENCRYPTION": "Ya sea para ofrecer medios encriptados SRTP (y solo medios encriptados SRTP) en llamadas salientes a un par. Las llamadas fallarán con HANGUPCAUSE = 58 si el par no es compatible con SRTP. El valor predeterminado es No", + "EVENTVARIABLES": "Si está habilitado, agrega todas las variables de evento a la url (valor recomendado = No. Establezca Sí solo para fines de evaluación)", + "FROMDOMAIN": "Establezca predeterminado De: dominio en mensajes SIP cuando actúa como SIP ua (cliente). Algunos destinos pueden requerir un nombre de identidad obligatorio en lugar de solo la dirección IP", + "FROMUSER": "Cómo lo conoce su proveedor Este es el usuario que debe colocar en lugar de callerid al realizar llamadas a pares (otro proxy SIP). Válido solo para type = peer.", + "HOST": "El dominio o nombre de host", + "INSECURE": "Especifique cómo manejar las conexiones con el par, permitiendo configuraciones inseguras", + "NAME": "Solo se admiten números, letras y caracteres específicos (._)", + "NAT": "Cambia el comportamiento de Asterisk para clientes detrás de un firewall. Si alguna de las opciones separadas por comas es 'no', Asterisk ignorará cualquier otra configuración y establecerá nat = no.", + "OTHERFIELDS": "Otros campos para agregar en los troncos conf archivos. Siga el formato de asterisco predeterminado (clave = valor), cada campo en una sola fila", + "OUTBOUNDPROXY": "Dirección IP o nombre DNS SRV (excluyendo el prefijo _sip._udp): nombre SRV, nombre de host o dirección IP del SIP Proxy saliente. Envíe la señalización saliente a este proxy, no directamente a los dispositivos. Válido solo para type = peer.", + "PORT": "El número de puerto SIP", + "QUALIFY": "Determinar cuándo se puede lograr el SIP", + "REGISTRY": "La cadena de registro, si es requerido por el proveedor, generalmente defaultuser: secret @ host", + "SECRET": "Contraseña de autenticación", + "SEND_REMOTE_PARTY_ID_HEADER": "Definir si se debe enviar Remote-Party-ID (por defecto es no)", + "T38PT_UDPTL": "Es: sí, redundancia, maxdatagram = 400", + "TRANSPORT": "Establezca los transportes predeterminados, en orden de preferencia", + "TRUST_REMOTE_PARTY_ID": "Definir si Remote-Party-ID debe ser de confianza", + "TYPE": "Determine el rol de SIP dentro de un asterisco. Usuario: usado para autenticar entrantes - Peer: para llamadas salientes - Amigo: cubre ambas características de las anteriores." + }, "ERRORS": { - "NAME_REQUIRED": "El nombre es obligatorio", - "HOST_REQUIRED": "El Host es obligatorio", - "DEFAULTUSER_REQUIRED": "El usuario predeterminado es obligatorio", - "CALLERID_REQUIRED": "El caller ID es necesario", - "KEY_REQUIRED": "La clave es necesaria", + "ACCOUNT_REQUIRED": "Campo obligatorio", + "ACTION_REQUIRED": "Campo obligatorio", + "APPLICATION_REQUIRED": "Campo obligatorio", + "ARGUMENTS_REQUIRED": "Campo obligatorio", + "AUTOCREATECONTACT_REQUIRED": "Campo obligatorio", + "CALLERID_REQUIRED": "Campo obligatorio", + "CONFIGURATION_REQUIRED": "Campo obligatorio", "CONFIRM_NOT_MATCH": "Las contraseñas no coinciden", - "VALIDITYSTART_REQUIRED": "La hora de inicio es obligatorio", - "VALIDITYEND_REQUIRED": "La hora de finalización es obligatorio", - "MONTHDAY_REQUIRED": "El día del mes es obligatorio", - "HOUR_REQUIRED": "La hora es necesario", - "CONTENT_REQUIRED": "El contenido es obligatorio", - "URL_REQUIRED": "La dirección URL es necesaria", - "URL_MUST_VALID_URL": "La URL debe ser válida", - "APPLICATION_REQUIRED": "La aplicación es necesaria", - "ARGUMENTS_REQUIRED": "Los argumentos son obligatorios", - "NAME_MUST_VALID_PATTERN": "El nombre debe estar escrito en un formato válido", - "POLLING_INTERVAL_REQUIRED": "El intervalo de sondeo es obligatorio", - "TITLE_REQUIRED": "El título es obligatorio", - "EMAILADDRESS_REQUIRED": "Es necesario introducir la dirección de correo electrónico", + "CONTENT_REQUIRED": "Campo obligatorio", + "DEFAULTUSER_REQUIRED": "Campo obligatorio", + "EMAILADDRESS_REQUIRED": "Campo obligatorio", "EVENTVARIABLES_REQUIRED": "Campo obligatorio", - "TYPE_REQUIRED": "Campo obligatorio", - "VALUE_REQUIRED": "Campo obligatorio", - "ACCOUNT_REQUIRED": "Campo obligatorio", "FIELD_REQUIRED": "Campo obligatorio", + "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que", + "FONTSIZE_REQUIRED": "Campo obligatorio", + "FORMAT_REQUIRED": "Campo obligatorio", + "HOST_REQUIRED": "Campo obligatorio", + "HOUR_REQUIRED": "Campo obligatorio", "INTEGRATION_REQUIRED": "Campo obligatorio", + "KEY_REQUIRED": "Campo obligatorio", "LIST_REQUIRED": "Campo obligatorio", - "TEMPLATE_REQUIRED": "Campo obligatorio", - "AUTOCREATECONTACT_REQUIRED": "Campo obligatorio", - "OUTBOUNDROUTE_REQUIRED": "Campo obligatorio", - "QUEUE_REQUIRED": "Campo obligatorio", - "TIME_RANGE_TO_REQUIRED": "Campo obligatorio", - "WEEK_DAYS_TO_REQUIRED": "Campo obligatorio", + "LOCATION_REQUIRED": "Campo obligatorio", + "MONTHDAY_REQUIRED": "Campo obligatorio", "MONTH_DAYS_TO_REQUIRED": "Campo obligatorio", "MONTH_TO_REQUIRED": "Campo obligatorio", - "TIME_RANGE_FROM_INVALID": "Formato incorrecto", - "TIME_RANGE_TO_INVALID": "Formato incorrecto", - "ACTION_REQUIRED": "Campo obligatorio", - "CONFIGURATION_REQUIRED": "Campo obligatorio", - "PROJECT_REQUIRED": "Campo obligatorio", - "LOCATION_REQUIRED": "Campo obligatorio", - "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que", - "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", - "FONTSIZE_REQUIRED": "Campo obligatorio", + "NAME_MUST_VALID_PATTERN": "Formato erróneo", + "NAME_REQUIRED": "Campo obligatorio", + "OUTBOUNDROUTE_REQUIRED": "Campo obligatorio", "PATH_REQUIRED": "Campo obligatorio", - "FORMAT_REQUIRED": "Campo obligatorio", - "REPORT_REQUIRED": "Campo obligatorio", + "POLLING_INTERVAL_REQUIRED": "Campo obligatorio", + "PROJECT_REQUIRED": "Campo obligatorio", + "QUEUE_REQUIRED": "Campo obligatorio", "REFRESH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", - "REFRESH_REQUIRED": "Campo obligatorio" - }, - "HOST": "Host", - "SECRET": "Secret", - "DEFAULTUSER": "Usuario predeterminado", - "DESCRIPTION": "Descripción", - "ADD_TRUNK": "Agregar tronco", - "HELP": { - "SECRET": "Contraseña de autenticación para ponerse en contacto con el proveedor.", - "HOST": "El dominio o nombre de host para el proveedor.", - "DEFAULTUSER": "Nombre de usuario de autenticación para ponerse en contacto con el proveedor.", - "CALLERID": "El ID del llamante, en el formato \"nombre\" ", - "REGISTRY": "La cadena de registro del tronco, requerida por algunos proveedores, generalmente defaultuser:secret@host.", - "FROMDOMAIN": "Desde:dominio predeterminado se establece en mensajes SIP cuando actúa como un SIP UA (cliente). Algunos destinos pueden requerir el nombre de identidad obligatorio en lugar de sólo la dirección IP.", - "FROMUSER": "Cómo tu rovider sabe usted. Este es el usuario que desea poner en lugar de callerid cuando realice llamadas a punto (otro SIP proxy). Válido sólo para type=peer.", - "OUTBOUNDPROXY": "Dirección_IP o nombre DNS SRV (excluyendo el _sip._udp prefijo) : nombre SRV, nombre de host o la dirección IP del proxy SIP salientes. Enviar señales de salida a este proxy, y no directamente a los dispositivos. Válido sólo para type=peer.", - "PORT": "El número de puerto que queremos conectar en el lado remoto.", - "CONTEXT": "El contexto aprovechables para el tronco.", - "TYPE": "Determina la función SIP en Asterisk. Usuario: usado para autenticar entrante - Peer: para llamadas salientes - Amigo: cubre tanto las características de los anteriores.", - "DTMFMODE": "Cómo (DTMF Dual-Tone Multi-Frequency) son enviados: RFC2833: el modo predeterminado, el DTMF se envían con RTP pero fuera del flujo de audio. INBAND: El DTMF se envían en audio stream de la conversación actual, haciéndose audible desde los altavoces. Requiere una gran carga de CPU. INFO: Aunque este método es muy fiable, que no es compatible con todos los dispositivos de la PBX y muchos troncal SIP.", - "NAT": "Cambia el comportamiento de Asterisk para clientes detrás de un firewall.Si ninguna de las opciones separadas por comas es 'no', Asterisco ignorará cualquier otra configuración y definir nat=no.", - "QUALIFY": "Determina cuando la SIP es alcanzable.", - "ALLOWCODECS": "Códecs permitidos por orden de preferencia.", - "INSECURE": "Especifica cómo manejar conexiones con peer, permitiendo configuraciones inseguras.", - "CALL_LIMIT": "Limitar el número de las llamadas entrantes y salientes en un momento.", - "DIRECTMEDIA": "Asterisco por defecto intenta redirigir el flujo de datos RTP para ir directamente desde la llamada al destinatario. Algunos dispositivos no admiten esta (especialmente si uno de ellos está detrás de un NAT). El valor predeterminado es yes. Si usted tiene todos los clientes detrás de un NAT, o por alguna otra razón desea asterisco para permanecer en la ruta de audio, puede que desee desactivar esta función.", - "CALLCOUNTER": "Habilitar contadores de llamadas en los dispositivos.", - "ADD_PHONE_TO_URI": "Definir si el proveedor requiere la ';user=phone' en la URL.", - "TRUST_REMOTE_PARTY_ID": "Definir si Remote-Party-ID debe ser de confianza.", - "SEND_REMOTE_PARTY_ID_HEADER": "El estado", - "ENCRYPTION": "Definir si Remote-Party-ID debe ser enviado (por defecto no).", - "TRANSPORT": "Establecer el valor predeterminado de los transportes. El orden determina el principal transporte predeterminado.", - "OTHERFIELDS": "Otros campos para añadir archivos conf en los troncos. Al estar escrito en formato de asterisk (clave=valor), cada campo en una sola fila.", - "EMAILADDRESS": "Puede agregar varias direcciones con comas (por ejemplo, Jane.miller@xcally.com) john.doe@xcally.com", - "NAME": "Sólo los números, letras y caracteres específicos (_) son compatibles.", - "EVENTVARIABLES": "Si está activado, se añade todo el acontecimiento variables a la url", - "T38PT_UDPTL": "Es: Sí, la redundancia,maxdatagram=400" + "REFRESH_REQUIRED": "Campo obligatorio", + "REPORT_REQUIRED": "Campo obligatorio", + "TEMPLATE_REQUIRED": "Campo obligatorio", + "TIME_RANGE_FROM_INVALID": "Formato erróneo", + "TIME_RANGE_TO_INVALID": "Formato erróneo", + "TIME_RANGE_TO_REQUIRED": "Campo obligatorio", + "TITLE_REQUIRED": "Campo obligatorio", + "TYPE_REQUIRED": "Campo obligatorio", + "URL_MUST_VALID_URL": "Formato erróneo", + "URL_REQUIRED": "Campo obligatorio", + "VALIDITYEND_REQUIRED": "Campo obligatorio", + "VALIDITYSTART_REQUIRED": "Campo obligatorio", + "VALUE_REQUIRED": "Campo obligatorio", + "WEEK_DAYS_TO_REQUIRED": "Campo obligatorio" }, - "EDIT_TRUNK": "Editar tronco", - "DELETE_TRUNK": "Eliminar el tronco", - "CREATED_AT": "Creado en", - "SETTINGS": "Configuración", - "ADVANCED": "Advanced", - "OTHER": "Otros", - "ACTIVE": "Active", - "CONTEXT": "Contexto", - "CALLERID": "Caller ID (identificador de llamadas)", - "TYPE": "Tipo", - "DTMFMODE": "Modo de DTMF", - "NAT": "NAT", - "QUALIFY": "Calificar", - "ALLOWCODECS": "Códecs permitidos", - "INSECURE": "La inseguridad", - "REGISTRY": "Registro", - "DIRECTMEDIA": "Direct Media", - "CALLCOUNTER": "El contador de llamadas", - "FROMDOMAIN": "Desde el dominio", - "FROMUSER": "Del Usuario", - "OUTBOUNDPROXY": "Proxy saliente", - "ADD_PHONE_TO_URI": "Añadir el teléfono a la URL", - "TRUST_REMOTE_PARTY_ID": "Confiar en la parte remota ID", - "SEND_REMOTE_PARTY_ID_HEADER": "Enviar parte remota Encabezado de ID.", - "ENCRYPTION": "Cifrado", - "PORT": "Puerto", - "TRANSPORT": "Transporte", - "SAVE": "Guardar", - "VARIABLES": "Variables", - "ADD_VARIABLE": "Agregar variable", - "EDIT_VARIABLE": "Editar Variable", - "DELETE_VARIABLE": "Eliminar variable", - "SELECTED": "Seleccionado", - "SELECT_ALL": "Seleccionar todo", - "SELECT_NONE": "Seleccione Ninguno", - "TAGS": "Tags", - "ADD_TAG": "Agregar etiqueta", - "EDIT_TAG": "Editar etiqueta", - "DELETE_TAG": "Eliminar etiqueta", - "PAUSES": "Pausa", - "ADD_PAUSE": "Agregar pausa", - "EDIT_PAUSE": "Editar Pausa", - "DELETE_PAUSE": "Eliminar una pausa", - "CANNEDANSWERS": "Respuestas enlatadas", - "ADD_CANNEDANSWER": "Agregar respuesta enlatada", - "EDIT_CANNEDANSWER": "Editar respuesta enlatada", - "DELETE_CANNEDANSWER": "Eliminar respuesta enlatada", - "KEY": "Key", - "VALUE": "Valor", - "SOUNDS": "Sonidos", - "EDIT_SOUND": "Editar sonido", - "DELETE_SOUND": "Eliminar sonido", - "FINISH": "Finalizar", - "DROP_TO_UPLOAD": "Soltar para subir", - "TRIGGERS": "Activa", - "EDIT_TRIGGER": "Editar desencadenante", - "DELETE_TRIGGER": "Desencadenador Delete", - "ADD_TRIGGER": "Agregar Trigger", - "DELETE": "Eliminar", - "AUTOMATIONS": "Automatizaciones", - "EDIT_AUTOMATION": "Automatización de edición", - "DELETE_AUTOMATION": "Eliminar la automatización", - "ADD_AUTOMATION": "Agregar Automatización", - "INTERVALS": "Intervalos", - "EDIT_INTERVAL": "Editar intervalo", - "DELETE_INTERVAL": "Eliminar el intervalo", - "ADD_INTERVAL": "Agregar intervalo", - "TOOLS": "Herramientas", - "ID": "Id", - "AUDIO": "Audio", - "DOWNLOAD_SOUND": "Descargar sonido", - "UPLOAD_SOUND": "Herramientas", - "CHANNEL": "Canal", - "NEW_TRIGGER": "Nuevo desencadenador", - "GENERAL": "General", - "STATUS": "El estado", - "CONDITIONS&ACTIONS": "Condiciones y acciones", - "ALLCONDITIONS": "Satisfacer todas estas condiciones:", - "ANYCONDITIONS": "Cumplir alguna de estas condiciones:", - "ACTIONS": "Acciones:", - "NEW_AUTOMATION": "Automatización de nuevo", - "TIMEOUT": "Timeout", - "PEERSTATUS": "Estado de pares", - "CALL_LIMIT": "Límite de llamadas", - "OTHERFIELDS": "Otros campos", - "NEW_VARIABLE": "Nueva variable", - "NEW_TAG": "Nueva etiqueta", - "NEW_PAUSE": "Nueva Pausa", - "NEW_CANNEDANSWER": "Nueva respuesta enlatada", - "CONFIRM_PASSWORD": "Confirmar contraseña", - "NEW_TRUNK": "Nuevo enlace", - "FROM": "Desde", - "TO": "A", - "WEEKDAY": "Día de la semana", - "MONTHDAY": "Día del mes", - "MONTH": "Mes", - "ALWAYS": "Siempre", - "MON": "Lunes", - "TUE": "Martes", - "WED": "Miércoles", - "THU": "Jueves", - "FRI": "Viernes", - "SAT": "Sábado", - "SUN": "Domingo", - "JAN": "Enero", - "FEB": "Febrero", - "MAR": "Marzo", - "APR": "Abril", - "MAY": "Mayo", - "JUN": "Junio", - "JUL": "Julio", - "AUG": "Agosto", - "SEP": "Septiembre", - "OCT": "Octubre", - "NOV": "Noviembre", - "DEC": "Diciembre", - "PASSWORD": "Contraseña", - "CUSTOMDASHBOARDS": "Paneles personalizados", - "NEW_CUSTOMDASHBOARD": "Nuevo panel personalizado", - "ADD_CUSTOMDASHBOARD": "Agregar panel personalizado", - "EDIT_CUSTOMDASHBOARD": "Editar panel personalizado", - "DELETE_CUSTOMDASHBOARD": "Borrar panel personalizado", - "SCHEDULER": "Scheduler", - "NEW_SCHEDULE": "Nuevo calendario", - "ADD_SCHEDULE": "Añadir programa", - "EDIT_SCHEDULE": "Editar programación", - "DELETE_SCHEDULE": "Eliminar programación", - "SENDMAIL": "Enviar correo", - "CONFIGURATION": "Configuración", - "MAIL": "Mail", - "REPORTTYPE": "Tipo de informe", - "REPORT": "Informe", - "OUTPUT": "Salida", - "EXECUTEON": "Ejecutar en", - "REPORTRANGE": "Intervalo de informes", - "VALIDITYSTART": "Hora de inicio", - "VALIDITYEND": "Hora de finalización", - "EXECUTEEVERY": "Ejecutar cada", - "ACCOUNT": "Cuenta", - "EMAILADDRESS": "Dirección de correo electrónico", - "CURRENTDAY": "Día actual", - "DAILY": "A diario", - "WEEKLY": "Semanalmente", - "MONTHLY": "Mensualmente", - "PREVIOUS_DAY": "Día anterior", - "LAST_SEVEN_DAYS": "Últimos siete días", - "LAST_THIRTY_DAYS": "Últimos días Thirthy", - "LAST_MONTH": "El mes pasado", - "WEEKDAYS": "Los días de semana", - "HOUR": "Hora", - "DEFAULT": "Default", - "CSV": "CSV", - "PDF": "PDF", "15MIN": "15 minutos", - "30MIN": "30 minutos", "1H": "1 hora", - "VOICE": "Voz", - "CHAT": "Chat", - "SMS": "SMS", - "OPENCHANNEL": "Canal abierto", - "TEMPLATES": "Plantillas", - "EDIT_TEMPLATE": "Editar plantilla", - "DELETE_TEMPLATE": "Eliminar la plantilla", - "NEW_TEMPLATE": "Nueva plantilla", - "ADD_TEMPLATE": "Añadir plantilla", - "CONTENT": "Contenido", - "FIELD": "Campo", - "NO_ANYCONDITION_AVAILABLE": "No hay condiciones disponibles", - "NO_ALLCONDITION_AVAILABLE": "No hay condiciones disponibles", - "NO_ACTION_AVAILABLE": "No hay acciones disponibles", + "30MIN": "30 minutos", + "ABANDONED": "Abandonado", + "ACCOUNT": "Cuenta", "ACTION": "Acción", - "EDIT_ANYCONDITION": "Editar condición", - "DELETE_ANYCONDITION": "Eliminar la condición", - "NEW_ANYCONDITION": "Nueva condición", - "ADD_ANYCONDITION": "Agregar condición", - "EDIT_ALLCONDITION": "Editar condición", - "DELETE_ALLCONDITION": "Eliminar la condición", - "NEW_ALLCONDITION": "Nueva condición", + "ACTIONS": "Comportamiento:", + "ACTIVE": "Activo", + "ADD_ACTION": "Agregar acción", "ADD_ALLCONDITION": "Agregar condición", - "EDIT_ACTION": "Editar acción", - "DELETE_ACTION": "Acción eliminar", - "NEW_ACTION": "Nueva acción", - "ADD_ACTION": "Agregar Acción", - "QUEUE": "Cola", - "CALL_STATUS": "Estado de llamada", - "OUTBOUNDROUTE": "Ruta saliente", - "EQUALS": "Es igual a", - "NOT_EQUALS": "No es igual a", - "CONTACT_MANAGER": "Administrador de contactos", - "INTEGRATIONS": "Integraciones", - "MOTION_BAR": "Barra de movimiento", - "JSCRIPTY": "Jscripty", - "URL_FORWARD": "Reenvío de URL", - "WEB_POPUP": "Popup Web", - "LIST": "Lista", - "INTEGRATION": "Integración", - "TEMPLATE": "Plantilla", - "URL": "URL", - "APPLICATION": "Aplicación", + "ADD_ANYCONDITION": "Agregar condición", + "ADD_AUTOMATION": "Añadir automatización", + "ADD_CANNEDANSWER": "Agregar respuesta enlatada", + "ADD_CUSTOMDASHBOARD": "Agregar cuadro de mando personalizado", + "ADD_DASHBOARDITEM": "Agregar Widget del tablero", + "ADD_INTERVAL": "Añadir intervalo", + "ADD_PAUSE": "Añadir Pausa", + "ADD_PHONE_TO_URI": "Agregar teléfono a URL", + "ADD_SCHEDULE": "Agregar horario", + "ADD_TAG": "Añadir etiqueta", + "ADD_TEMPLATE": "Agregar plantilla", + "ADD_TRIGGER": "Agregar disparador", + "ADD_TRUNK": "Agregar Troncal", + "ADD_VARIABLE": "Agregar variable", + "ADD_WIDGET": "Agregar Widget", + "ADVANCED": "Avanzado", + "ALLCONDITIONS": "Conoce todas estas condiciones:", + "ALLOWCODECS": "Códecs permitidos", + "ALL_USERS": "Todos los usuarios", + "ALWAYS": "Siempre", + "AND_SECOND": "Y segundo", + "ANSWERED": "Contestada", + "ANYCONDITIONS": "Cumplir con cualquiera de estas condiciones:", + "APPLICATION": "Solicitud", + "APR": "abril", "ARGUMENTS": "Argumentos", - "NO_APPS_AVAILABLE": "No hay aplicaciones disponibles", - "NEW_INTERVAL": "Nueva Intervall", - "OPERATOR": "Operador", - "NO_INTERVALS_AVAILABLE": "Los intervalos no disponible", - "YES": "Sí", - "NO": "No hay", - "SUBJECT": "Asunto", - "NO_AVAILABLE_INFO": "No hay información disponible", + "AT": "A", + "AUDIO": "Audio", + "AUG": "agosto", + "AUTOCREATECONTACT": "Crear contacto automáticamente", + "AUTOMATIONS": "Automatizaciones", + "BACK": "Espalda", + "BACKGROUND": "Fondo", + "BACKGROUND_COLOR": "Color de fondo", "BROWSER": "Navegador", - "INTERVAL": "Intervalo", - "INFO": "Info", - "TIME_RANGE": "Intervalo de tiempo", - "WEEK_DAYS": "Los días de semana", - "MONTH_DAYS": "Ciertos días del mes", - "MONTHS": "Meses", - "DROP_TO_UPLOAD_MESSAGE": "También puede caer aquí para cargar audio. Sólo archivos MP3, WAV, GSM - Max. 15MB", - "POLLING_INTERVAL": "Intervalo de sondeo (segundos)", - "DASHBOARD": "Salpicadero", - "NEW_DASHBOARDITEM": "Nuevo widget de Dashboard", - "COUNTER": "Counter", - "IFRAME": "IFrame", + "CALL": "Llamada", + "CALLCOUNTER": "Contador de llamadas", + "CALLERID": "Identificador de llamadas", + "CALL_LIMIT": "Límite de llamadas", + "CALL_STATUS": "Estado de llamada", + "CANNEDANSWERS": "Respuestas enlatadas", + "CHANNEL": "Canal", + "CHAT": "Charla", "CLOCK": "Reloj", - "ADD_DASHBOARDITEM": "Agregar widget de Dashboard", - "EDIT_WIDGET": "Editar Widget", - "DELETE_WIDGET": "Eliminar widget", + "CLONE_CUSTOMDASHBOARD": "Clone Cuadro de Mando", + "COLOR": "Color", + "CONDITIONS&ACTIONS": "Condiciones", + "CONFIGURATION": "Configuración", + "CONFIRM_PASSWORD": "Confirmar contraseña", + "CONTACT_MANAGER": "Administrador de contactos", + "CONTENT": "Contenido", + "CONTEXT": "Contexto", + "COUNTER": "Mostrador", + "CREATED_AT": "Creado en", + "CRON": "Cron", + "CSV": "CSV", + "CURRENTDAY": "Día actual", + "CUSTOMDASHBOARDS": "Cuadro de Mando Personalizado", + "CUSTOMTYPE": "Custom [ruta]", + "DAILY": "Diario", + "DARK": "Oscuro", + "DASHBOARD": "Cuadro de Mando", + "DAY": "Día", + "DAY_AT": "Día en", + "DEC": "diciembre", + "DEFAULT": "Defecto", + "DEFAULTUSER": "Usuario predeterminado", + "DELETE": "Borrar", + "DELETE_ACTION": "Eliminar acción", + "DELETE_ALLCONDITION": "Eliminar condición", + "DELETE_ANYCONDITION": "Eliminar condición", + "DELETE_AUTOMATION": "Eliminar automatización", + "DELETE_CANNEDANSWER": "Eliminar la respuesta almacenada", + "DELETE_CUSTOMDASHBOARD": "Eliminar cuadro de mando personalizado", + "DELETE_INTERVAL": "Eliminar intervalo", + "DELETE_PAUSE": "Eliminar Pausa", + "DELETE_SCHEDULE": "Eliminar horario", + "DELETE_SOUND": "Eliminar sonido", + "DELETE_TAG": "Eliminar etiqueta", + "DELETE_TEMPLATE": "Eliminar plantilla", + "DELETE_TRIGGER": "Eliminar disparador", + "DELETE_TRUNK": "Eliminar troncal", + "DELETE_VARIABLE": "Eliminar variable", + "DELETE_WIDGET": "Eliminar Widget", + "DESCRIPTION": "Descripción", + "DIGITAL_FORMAT": "Formato de fecha digital", + "DIRECTMEDIA": "Medios directos", + "DOWNLOAD_SOUND": "Descargar sonido", + "DROP_TO_UPLOAD": "Suelta para subir", + "DROP_TO_UPLOAD_MESSAGE": "Suelta los archivos de audio aquí para subirlos. Solo MP3, WAV, GSM - Máx. 15 MB", + "DTMFMODE": "Modo DTMF", + "EDIT_ACTION": "Editar acción", + "EDIT_ALLCONDITION": "Editar condición", + "EDIT_ANYCONDITION": "Editar condición", + "EDIT_AUTOMATION": "Editar automatización", + "EDIT_CANNEDANSWER": "Editar respuesta enlatada", + "EDIT_CUSTOMDASHBOARD": "Editar cuadro de mando personalizado", + "EDIT_DASHBOARDITEM": "Editar widget del cuadro de mando", + "EDIT_INTERVAL": "Intervalo de edición", + "EDIT_PAUSE": "Editar pausa", + "EDIT_SCHEDULE": "Editar horario", + "EDIT_SOUND": "Editar sonido", + "EDIT_TAG": "Editar etiqueta", + "EDIT_TEMPLATE": "Editar plantilla", + "EDIT_TRIGGER": "Editar disparador", + "EDIT_TRUNK": "Editar tronco", + "EDIT_VARIABLE": "Editar variable", + "EDIT_WIDGET": "Editar widget", + "EMAILADDRESS": "Dirección de correo electrónico", + "ENCRYPTION": "Cifrado", + "EQUALS": "Igual", + "EVENTVARIABLES": "Variables de eventos", + "EVERY": "Cada", + "EXECUTEEVERY": "Ejecutar cada", + "EXECUTEON": "Ejecutar en", + "FAX": "Fax", + "FEB": "febrero", + "FIELD": "Campo", + "FILTERVOICEQUEUES": "Filtrar colas de voz", + "FINISH": "Terminar", "FLIP_WIDGET": "Flip Widget", - "TITLE": "Título", - "UPDATE": "Actualizar", - "LAYOUT": "Diseño", - "BACKGROUND_COLOR": "Color de fondo", + "FONTSIZE": "Tamaño de fuente", + "FOREGROUND": "Primer plano", "FOREGROUND_COLOR": "Color de primer plano", - "FOREGROUND_TITLE_COLOR": "Color del título de primer plano", - "THEME": "Tema", - "LIGHT": "Luz", - "DARK": "Oscuridad", - "TIMEZONE": "Zona horaria", - "DIGITAL_FORMAT": "Formato de fecha digital", - "TOOLS_QUERY": "Consulta", - "SELECT": "Seleccione", - "WHERE": "Donde", - "BACK": "Volver", - "PROJECT": "Proyecto", - "GOTOREALTIME_TRUNK": "Ir a Realtime tronco", - "GOTO_TRUNK": "Ir al tronco", - "CRON": "Cron", - "MINUTES": "Minutos", + "FOREGROUND_TITLE_COLOR": "Color del título del primer plano", + "FORMAT": "Formato", + "FRI": "viernes", + "FROM": "De", + "FROMDOMAIN": "Del dominio", + "FROMUSER": "Del usuario", + "GENERAL": "General", + "GOTODASHBOARD_CUSTOMDASHBOARD": "Ir al cuadro de vista previa", + "GOTOREALTIME_TRUNK": "Ir a Troncal en tiempo real", + "GOTO_CUSTOMDASHBOARD": "Ir al cuadro de vista previa", + "GOTO_TRUNK": "Ir al maletero", + "HOST": "Anfitrión", + "HOUR": "Hora", "HOURLY": "Cada hora", - "YEARLY": "Anualmente", - "EVERY": "Cada", - "MINUTE": "Minuto", - "ON_SECOND": "En segundo", - "HOUR_ON_MINUTE": "Hora en minutos", - "AND_SECOND": "Y segundo", - "DAY_AT": "Día a", - "START_TIME": "Hora de inicio", - "ON_THE": "En el", - "OF_EVERY": "De cada", - "MONTH_AT": "Mes a", - "AT": "En", + "HOUR_ON_MINUTE": "Hora en minuto", + "ID": "Id", + "IFRAME": "IFrame", + "INFO": "Información", + "INSECURE": "Inseguro", + "INTEGRATION": "Integración", + "INTEGRATIONS": "Integraciones", + "INTERACTION": "Interacción", + "INTERVAL": "Intervalo", + "INTERVALS": "Intervalos", + "JAN": "enero", + "JSCRIPTY": "Jscripty", + "JUL": "julio", + "JUN": "junio", + "KEY": "Llave", "LAST": "Último", "LASTUNIT": "Unidad", - "MAILACCOUNT": "Cuenta de correo", - "OF": "De", - "PAST_THE_HOUR": "Pasada la hora", - "DAY": "Día", - "WEEK": "Semana", - "YEAR": "Año", - "ON": "En", - "PAI": "P-Asserted-Identity", - "PAGE": "Página", - "ROWSPERPAGE": "Filas por página.", - "OUTBOUND_ROUTE": "Ruta saliente", - "EVENTVARIABLES": "Variables de evento", - "FAX": "Fax", - "INTERACTION": "Interacción", - "MESSAGE": "Mensaje", - "T38PT_UDPTL": "T38pt Udptl", - "AUTOCREATECONTACT": "Crear automáticamente contacto", - "COLOR": "Color", + "LAST_MONTH": "El mes pasado", + "LAST_SEVEN_DAYS": "Los últimos siete días", + "LAST_THIRTY_DAYS": "Últimos Thirthy Days", + "LAYOUT": "Diseño", + "LIGHT": "Ligero", + "LINK": "Enlace [https: //]", + "LIST": "Lista", "LOCATION": "Ubicación", - "NEW_TAB": "Nueva ficha", + "MAIL": "Email", + "MAILACCOUNT": "Cuenta de correo electrónico", + "MAR": "marzo", + "MAY": "Mayo", + "MESSAGE": "Mensaje", + "METRIC": "Métrico", + "MINUTE": "Minuto", + "MINUTES": "Minutos", + "MON": "lunes", + "MONTH": "Mes", + "MONTHDAY": "Mes dia", + "MONTHLY": "Mensual", + "MONTHS": "Meses", + "MONTH_AT": "Mes en", + "MONTH_DAYS": "Mes días", + "MOTION_BAR": "Motion Bar", + "MOVE_WIDGET": "Move Widget", + "MULTIBARCHART": "Gráfico Multibar", + "NAME": "Nombre", + "NAT": "NAT", + "NEW_ACTION": "Nueva acción", + "NEW_ALLCONDITION": "Nueva condición", + "NEW_ANYCONDITION": "Nueva condición", + "NEW_AUTOMATION": "Nueva automatización", + "NEW_CANNEDANSWER": "Nueva respuesta enlatada", + "NEW_CUSTOMDASHBOARD": "Nuevo cuadro personalizado", + "NEW_DASHBOARDITEM": "Nuevo widget para el cuadro", + "NEW_INTERVAL": "Nuevo intervalo", + "NEW_PAUSE": "Nueva pausa", + "NEW_SCHEDULE": "Nuevo horario", + "NEW_TAB": "Nueva pestaña", + "NEW_TAG": "Nueva etiqueta", + "NEW_TEMPLATE": "Nueva plantilla", + "NEW_TRIGGER": "Nuevo disparador", + "NEW_TRUNK": "Nuevo baúl", + "NEW_VARIABLE": "Nueva variable", "NEW_WINDOW": "Nueva ventana", - "WINDOWWIDTH": "Ancho de la ventana(px)", - "WINDOWHEIGHT": "La altura de la ventana(px)", - "EDIT_DASHBOARDITEM": "Editar widget del tablero de instrumentos", - "FONTSIZE": "Tamaño de fuente", - "CLONE_CUSTOMDASHBOARD": "Clone Custom Dashboard", - "LINK": "Enlace [https: //]", - "BACKGROUND": "Fondo", - "FOREGROUND": "Primer plano", + "NEXTCONTACT": "Siguiente", + "NO": "No", "NONE": "Ninguna", - "TOTAL": "Total", - "ABANDONED": "Abandonado", - "WAITING": "Esperando", - "TALKING": "Hablando", - "ANSWERED": "Contestada", - "UNMANAGED": "No administrado", - "CUSTOMTYPE": "Custom [ruta]", - "WEBREPORT": "Informe web", + "NOT_EQUALS": "No es igual", + "NOV": "noviembre", + "NO_ACTION_AVAILABLE": "No Acciones disponibles", + "NO_ALLCONDITION_AVAILABLE": "No hay condiciones disponibles", + "NO_ANYCONDITION_AVAILABLE": "No hay condiciones disponibles", + "NO_APPS_AVAILABLE": "No hay aplicaciones disponibles", + "NO_AVAILABLE_INFO": "No hay información disponible", + "NO_INTERVALS_AVAILABLE": "Sin intervalos disponibles", + "OCT": "octubre", + "OF": "de", + "OF_EVERY": "De cada", + "ON": "En", + "ON_SECOND": "En segundo", + "ON_THE": "Sobre el", + "OPENCHANNEL": "Canal abierto", + "OPERATOR": "Operador", + "OTHER": "Otro", + "OTHERFIELDS": "Otros campos", + "OUTBOUNDPROXY": "Proxy de salida", + "OUTBOUNDROUTE": "Ruta de salida", + "OUTBOUND_ROUTE": "Ruta de salida", + "OUTPUT": "Salida", + "PAGE": "Página", + "PAI": "P-Asserted-Identity", + "PASSWORD": "Contraseña", + "PAST_THE_HOUR": "Pasado la hora", + "PATH": "Camino Absoluto", + "PAUSES": "Pausas", + "PDF": "PDF", + "PEERSTATUS": "Estado de pares", "PIECHART": "Gráfico circular", - "MULTIBARCHART": "Gráfico Multibar", - "MOVE_WIDGET": "Move Widget", - "USERADD_CUSTOMDASHBOARD": "Agregar permisos de usuario", - "GOTODASHBOARD_CUSTOMDASHBOARD": "Ir al panel de vista previa", - "GOTO_CUSTOMDASHBOARD": "Ir al panel de vista previa", - "METRIC": "Métrico", - "FILTERVOICEQUEUES": "Filtrar colas de voz", + "POLLING_INTERVAL": "Intervalo de sondeo (segundos)", + "PORT": "Puerto", + "PREVIOUS_DAY": "El día anterior", + "PROJECT": "Proyecto", + "QUALIFY": "Calificar", + "QUEUE": "Cola", + "REFRESH": "Actualizar [s]", + "REGISTRY": "Registro", + "REPORT": "Informe", + "REPORTRANGE": "Rango de informes", + "REPORTTYPE": "Tipo de informe", + "ROWSPERPAGE": "Filas por página", + "SAT": "sábado", + "SAVE": "Salvar", + "SCHEDULER": "Programador", + "SEARCH_FOR_ANYONE": "Busque a alguien", + "SECRET": "Secreto", + "SELECT": "Seleccionar", + "SELECTED": "Seleccionado", + "SELECTED_USERS": "Usuarios seleccionados", + "SELECT_ALL": "Seleccionar todo", + "SELECT_NONE": "Seleccione Ninguno", + "SENDMAIL": "Enviar correo electrónico", + "SEND_REMOTE_PARTY_ID_HEADER": "Enviar encabezado de ID de Party remoto", + "SEP": "septiembre", "SERIE1": "Serie 1", "SERIE2": "Serie 2", "SERIE3": "Serie 3", - "REFRESH": "Actualizar [s]", - "FORMAT": "Formato", - "PATH": "Camino Absoluto", - "ALL_USERS": "Todos los usuarios", - "SELECTED_USERS": "Usuarios seleccionados", - "ADD_WIDGET": "Agregar Widget", - "NEXTCONTACT": "Siguiente" + "SETTINGS": "Configuraciones", + "SMS": "SMS", + "SOUNDS": "Sonidos", + "START_TIME": "Hora de inicio", + "STATUS": "Estado", + "SUBJECT": "Tema", + "SUN": "domingo", + "T38PT_UDPTL": "T38pt Udptl", + "TAGS": "Etiquetas", + "TALKING": "Hablando", + "TEMPLATE": "Modelo", + "TEMPLATES": "Plantillas", + "THEME": "Tema", + "THU": "jueves", + "TIMEOUT": "Se acabó el tiempo", + "TIMEZONE": "Zona horaria", + "TIME_RANGE": "Intervalo de tiempo", + "TITLE": "Título", + "TO": "A", + "TOOLS": "Herramientas", + "TOOLS_QUERY": "Consulta", + "TOTAL": "Total", + "TRANSPORT": "Transporte", + "TRIGGERS": "Disparadores", + "TRUNKS": "Bañador", + "TRUST_REMOTE_PARTY_ID": "Trust Remote Party ID", + "TUE": "martes", + "TYPE": "Tipo", + "UNMANAGED": "No administrado", + "UPDATE": "Actualizar", + "UPLOAD_SOUND": "Herramientas", + "URL": "URL", + "URL_FORWARD": "URL hacia adelante", + "USERADD_CUSTOMDASHBOARD": "Agregar permisos de usuario", + "VALIDITYEND": "Hora de finalización", + "VALIDITYSTART": "Hora de inicio", + "VALUE": "Valor", + "VARIABLES": "Variables", + "VOICE": "Voz", + "WAITING": "Esperando", + "WEBREPORT": "Informe web", + "WEB_POPUP": "Web Popup", + "WED": "miércoles", + "WEEK": "Semana", + "WEEKDAY": "Día laborable", + "WEEKDAYS": "Días de semana", + "WEEKLY": "Semanal", + "WEEK_DAYS": "Días de semana", + "WHERE": "Dónde", + "WINDOWHEIGHT": "Altura de la ventana (px)", + "WINDOWWIDTH": "Ancho de ventana (px)", + "YEAR": "Año", + "YEARLY": "Anual", + "YES": "Sí" } } \ No newline at end of file diff --git a/public/app/main/apps/tools/i18n/ja.json b/public/app/main/apps/tools/i18n/ja.json index fee15f7..bcb927c 100644 --- a/public/app/main/apps/tools/i18n/ja.json +++ b/public/app/main/apps/tools/i18n/ja.json @@ -1,411 +1,411 @@ { "TOOLS": { - "CALL": "コール", - "NAME": "名", - "TRUNKS": "トランク", - "SEARCH_FOR_ANYONE": "だれでものための検索", "ERRORS": { - "NAME_REQUIRED": "名前は必須です", - "HOST_REQUIRED": "は、ホストが必要です", - "DEFAULTUSER_REQUIRED": "デフォルトのユーザーが必要です", - "CALLERID_REQUIRED": "は、発信者 ID が必要です。", - "KEY_REQUIRED": "キーが必要です", - "CONFIRM_NOT_MATCH": "パスワードは、 Don ’ t が一致し", - "VALIDITYSTART_REQUIRED": "開始時間が必要な", - "VALIDITYEND_REQUIRED": "終了時間が必要な", - "MONTHDAY_REQUIRED": "の月日が必要です", - "HOUR_REQUIRED": "時間が必要な", - "CONTENT_REQUIRED": "コンテンツは必要に応じて", - "URL_REQUIRED": "の URL が必要です", - "URL_MUST_VALID_URL": "URL が有効である必要があり", - "APPLICATION_REQUIRED": "は、アプリケーションが必要です", - "ARGUMENTS_REQUIRED": "の引数が必要です", - "NAME_MUST_VALID_PATTERN": "名前は、有効な形式で記述する必要があります", - "POLLING_INTERVAL_REQUIRED": "ポーリングの間隔が必要です", - "TITLE_REQUIRED": "タイトルが必要です", - "EMAILADDRESS_REQUIRED": "電子メールのアドレスが必要です。", - "EVENTVARIABLES_REQUIRED": "必須フィールドです。", - "TYPE_REQUIRED": "必須フィールドです。", - "VALUE_REQUIRED": "必須フィールドです。", - "ACCOUNT_REQUIRED": "必須フィールドです。", - "FIELD_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": "必須フィールドです。", - "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下にする必要があります", + "ACCOUNT_REQUIRED": "必須フィールド", + "ACTION_REQUIRED": "必須フィールド", + "APPLICATION_REQUIRED": "必須フィールド", + "ARGUMENTS_REQUIRED": "必須フィールド", + "AUTOCREATECONTACT_REQUIRED": "必須フィールド", + "CALLERID_REQUIRED": "必須フィールド", + "CONFIGURATION_REQUIRED": "必須フィールド", + "CONFIRM_NOT_MATCH": "パスワードが一致しません", + "CONTENT_REQUIRED": "必須フィールド", + "DEFAULTUSER_REQUIRED": "必須フィールド", + "EMAILADDRESS_REQUIRED": "必須フィールド", + "EVENTVARIABLES_REQUIRED": "必須フィールド", + "FIELD_REQUIRED": "必須フィールド", "FONTSIZE_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "FONTSIZE_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下にする必要があります", "FONTSIZE_REQUIRED": "必須フィールド", - "PATH_REQUIRED": "必須フィールド", "FORMAT_REQUIRED": "必須フィールド", - "REPORT_REQUIRED": "必須フィールド", + "HOST_REQUIRED": "必須フィールド", + "HOUR_REQUIRED": "必須フィールド", + "INTEGRATION_REQUIRED": "必須フィールド", + "KEY_REQUIRED": "必須フィールド", + "LIST_REQUIRED": "必須フィールド", + "LOCATION_REQUIRED": "必須フィールド", + "MONTHDAY_REQUIRED": "必須フィールド", + "MONTH_DAYS_TO_REQUIRED": "必須フィールド", + "MONTH_TO_REQUIRED": "必須フィールド", + "NAME_MUST_VALID_PATTERN": "間違ったフォーマット", + "NAME_REQUIRED": "必須フィールド", + "OUTBOUNDROUTE_REQUIRED": "必須フィールド", + "PATH_REQUIRED": "必須フィールド", + "POLLING_INTERVAL_REQUIRED": "必須フィールド", + "PROJECT_REQUIRED": "必須フィールド", + "QUEUE_REQUIRED": "必須フィールド", "REFRESH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", - "REFRESH_REQUIRED": "必須フィールド" + "REFRESH_REQUIRED": "必須フィールド", + "REPORT_REQUIRED": "必須フィールド", + "TEMPLATE_REQUIRED": "必須フィールド", + "TIME_RANGE_FROM_INVALID": "間違ったフォーマット", + "TIME_RANGE_TO_INVALID": "間違ったフォーマット", + "TIME_RANGE_TO_REQUIRED": "必須フィールド", + "TITLE_REQUIRED": "必須フィールド", + "TYPE_REQUIRED": "必須フィールド", + "URL_MUST_VALID_URL": "間違ったフォーマット", + "URL_REQUIRED": "必須フィールド", + "VALIDITYEND_REQUIRED": "必須フィールド", + "VALIDITYSTART_REQUIRED": "必須フィールド", + "VALUE_REQUIRED": "必須フィールド", + "WEEK_DAYS_TO_REQUIRED": "必須フィールド" }, - "HOST": "ホスト", - "SECRET": "シークレット", - "DEFAULTUSER": "デフォルトのユーザー", - "DESCRIPTION": "説明", - "ADD_TRUNK": "トランクを追加します。", "HELP": { - "SECRET": "認証パスワードはプロバイダに連絡してください。", - "HOST": "プロバイダのドメイン名またはホスト名を指定します。", - "DEFAULTUSER": "認証ユーザ名をプロバイダに連絡してください。", - "CALLERID": "は、発信者 ID は、形式の「名前」 < 番号 > で", - "REGISTRY": "は、一部のプロバイダーが必要なトランクのレジストリの文字列は、通常、 defaultuser : @ ホストの秘密である。", - "FROMDOMAIN": "デフォルトから設定します。 SIP UA (クライアント)として動作するときに SIP メッセージのドメインです。 一部の宛先ではなく、必須の ID 名は、 IP アドレスのみが必要な場合があります。", - "FROMUSER": "お使いのプロバイダの方法を知っている。 これは、ユーザーが通話をピア(別の SIP プロキシ)を配置するときに、発信者番号の代わりにすることにした。 では、ピアのタイプにのみ有効です。", - "OUTBOUNDPROXY": "IP アドレスまたは DNS SRV 名 ( sip は除外されます。 UDP の接頭辞) : SRV 名、ホスト名、またはアウトバウンドの SIP プロキシの IP アドレスを入力します。 アウトバウンドのシグナリングは、このプロキシにするには、デバイスに直接送信します。 では、ピアのタイプにのみ有効です。", - "PORT": "ポートは、リモート側での接続をしたい数。", - "CONTEXT": "トランクの攻撃可能なコンテキストを指定します。", - "TYPE": "アスタリスク内の SIP の役割を決定します。 ユーザは、次の着信を認証するピア : 発信コールの友人のために上記の両方の特性をカバーするために使用されます。", - "DTMFMODE": "DTMF ( デュアルトーンマルチ周波数 ) が送信される方法は、次の RFC 2833 : デフォルトのモードを開始するには、 DTMF は、 RTP を使用して送信されますが、オーディオストリームの範囲外にあります。 インバンド : DTMF は現在の会話のオーディオストリームで送信されるため、スピーカーからの音になっています。 CPU の負荷が高くなる必要があります。 情報 : この方法は、非常に信頼性の高いですが、すべての PBX がデバイスおよび多くの SIP トランクではサポートされていません。", - "NAT": "ファイアウォールの背後にあるクライアントの場合はアスタリスクの動作を変更できます。カンマのいずれかで区切られたオプションが ' いいえ ' の場合にアスタリスクが付いている他のすべての設定項目を設定し、 nat = no を無視する", - "QUALIFY": "SIP が達成可能かどうかを決定します。", - "ALLOWCODECS": "環境設定の順序で許可されてコーデックに対応しています。", - "INSECURE": "ピアとは、安全でない設定を許可する接続を処理する方法を指定します。", - "CALL_LIMIT": "は、一度にインバウンドコールとアウトバウンドコールの数を制限します。", - "DIRECTMEDIA": "デフォルトでアスタリスクは、 RTP メディアストリームの発信者からの着信側に直接移動するには」にリダイレクトします。 一部のデバイスでは、この(それらの 1 つが NAT の背後にある)場合は、特にサポートしていません。 デフォルトの設定は YES です。 は、 NAT の背後にある場合、またはその他の理由で、すべてのクライアントにアスタリスクが付きます。オーディオパスでの滞在を希望している場合、これをオフにすることをお勧めします。", - "CALLCOUNTER": "デバイス上のコールカウンタをイネーブルにします。", - "ADD_PHONE_TO_URI": "は、プロバイダーが必要です」の場合を定義します。ユーザー = URL に電話します。", - "TRUST_REMOTE_PARTY_ID": "Remote-party-id 信頼するかどうかを定義します。", - "SEND_REMOTE_PARTY_ID_HEADER": "ステータス", - "ENCRYPTION": "Remote-party-id 送信する必要がある ( デフォルトは no ) にするかを定義します。", - "TRANSPORT": "デフォルトの転送を設定します。 順序は、プライマリデフォルトのトランスポートを指定します。", - "OTHERFIELDS": "では、トランク内の他のフィールドに conf ファイルを追加します。 でアスタリスク形式(キー = 値 ) は、 1 つの行上の各フィールドに書き込まれます。", - "EMAILADDRESS": "カンマを使用して ( 例えば、 john.doe@xcally.com jane.miller@xcally.com) 複数のアドレスを追加できます。", - "NAME": "数字、文字、およびのみ特定の文字 ( 。 ) はサポートされています", - "EVENTVARIABLES": "有効になっている場合は、すべてのイベントは、 URL に変数を追加します。", - "T38PT_UDPTL": "Es :はい、冗長性、 maxdatagram = 400" + "ADD_PHONE_TO_URI": "プロバイダがURLに「; user = phone」を要求するかどうかを定義する", + "ALLOWCODECS": "優先順に許可されたコーデック", + "CALLCOUNTER": "デバイス上でコールカウンタを有効にする", + "CALLERID": "発呼者IDは、「名前」<番号>", + "CALL_LIMIT": "インバウンドとアウトバウンドの同時呼び出しの制限数", + "CONTEXT": "トランクのコンテキスト", + "DEFAULTUSER": "認証ユーザ名", + "DIRECTMEDIA": "アスタリスクは、デフォルトでは、RTPメディアストリームをリダイレクトして、発信者から着信者に直接移動しようとします。一部のデバイスはこれをサポートしていません(特にNATの後ろに1台がある場合)。デフォルト設定はYESです。 NATの背後にあるすべてのクライアントを持っている場合や、アスタリスクをオーディオパスに入れたい場合は、これをオフにすることができます。", + "DTMFMODE": "DTMF(Dual-Tone Multi-Frequency)の送信方法。 RFC2833:デフォルトモードで、DTMFはRTPと共に送信されますが、オーディオストリームの外に送信されます。 INBAND:DTMFは現在の会話のオーディオストリームで送信され、スピーカーから聞こえるようになります。高いCPU負荷が必要です。情報:この方法は非常に信頼性が高いですが、すべてのPBXデバイスと多くのSIPトランクでサポートされていません。", + "EMAILADDRESS": "1つまたは複数のアドレスをコンマで区切って追加します(例:john.doe@xcally.com、jane.miller@xcally.com)", + "ENCRYPTION": "ピアへの発信コールでSRTP暗号化メディア(およびSRTP暗号化メディアのみ)を提供するかどうか。ピアがSRTPをサポートしていない場合、HANGUPCAUSE = 58でコールは失敗します。デフォルト値はNoです", + "EVENTVARIABLES": "有効にすると、すべてのイベント変数がURLに追加されます(推奨値=いいえ評価目的でのみ[はい]に設定されます)", + "FROMDOMAIN": "SIP UA(クライアント)として機能するときは、SIPメッセージのデフォルトFrom:ドメインを設定します。一部の宛先では、IPアドレスだけでなく必須のID名が必要な場合があります", + "FROMUSER": "あなたのプロバイダがあなたを知っている方法。これは、コールをpeer(別のSIPプロキシ)に置くときに、calleridの代わりにputするユーザです。 type = peerに対してのみ有効です。", + "HOST": "ドメイン名またはホスト名", + "INSECURE": "ピアとの接続を処理する方法を指定し、安全でない設定を許可する", + "NAME": "数字、文字、および特定の文字(._)のみがサポートされています", + "NAT": "ファイアウォールの背後にあるクライアントのAsteriskの動作を変更します。カンマ区切りのオプションのいずれかが 'no'の場合、アスタリスクは他の設定を無視し、nat = noを設定します。", + "OTHERFIELDS": "トランクconfファイルに追加するその他のフィールド。デフォルトのアスタリスク形式(key = value)に従います。各フィールドは単一の行にあります", + "OUTBOUNDPROXY": "IP_addressまたはDNS SRV名(_sip._udpプレフィックスを除く):発信SIPプロキシのSRV名、ホスト名、またはIPアドレス。アウトバウンドシグナリングをこのプロキシに送信し、デバイスに直接送信しない。 type = peerに対してのみ有効です。", + "PORT": "SIPポート番号", + "QUALIFY": "SIPがいつ達成可能かを判断する", + "REGISTRY": "レジストリ文字列(プロバイダによって必要な場合)、通常はdefaultuser:secret @ host", + "SECRET": "認証パスワード", + "SEND_REMOTE_PARTY_ID_HEADER": "Remote-Party-IDを送信するかどうかを定義します(デフォルトはnoです)", + "T38PT_UDPTL": "Es:はい、冗長性、maxdatagram = 400", + "TRANSPORT": "優先度の高い順にデフォルトの転送を設定する", + "TRUST_REMOTE_PARTY_ID": "Remote-Party-IDを信頼する必要があるかどうかを定義する", + "TYPE": "アスタリスク内のSIPロールを決定します。ユーザ:着信認証に使用 - ピア:発信コール用 - フレンド:上記の両方の特性をカバーします。" }, - "EDIT_TRUNK": "トランクの編集", - "DELETE_TRUNK": "トランクを削除", - "CREATED_AT": "で作成された", - "SETTINGS": "の設定", - "ADVANCED": "高度な", - "OTHER": "その他の", + "15MIN": "15分", + "1H": "1時間", + "30MIN": "30分", + "ABANDONED": "放棄された", + "ACCOUNT": "アカウント", + "ACTION": "アクション", + "ACTIONS": "行動:", "ACTIVE": "アクティブ", - "CONTEXT": "コンテキスト", - "CALLERID": "発信者 ID", - "TYPE": "タイプ", - "DTMFMODE": "DTMF モード", - "NAT": "NAT", - "QUALIFY": "資格を", - "ALLOWCODECS": "許可されているコーデック", - "INSECURE": "安全ではない", - "REGISTRY": "レジストリ", - "DIRECTMEDIA": "ダイレクト・メディア・", - "CALLCOUNTER": "コールカウンタ", - "FROMDOMAIN": "ドメインからの", - "FROMUSER": "ユーザーからの", - "OUTBOUNDPROXY": "アウトバウンドプロキシ", - "ADD_PHONE_TO_URI": "電話を URL の追加", - "TRUST_REMOTE_PARTY_ID": "信頼リモートサードパーティの ID", - "SEND_REMOTE_PARTY_ID_HEADER": "リモートパーティ ID ヘッダを送信する", - "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_ACTION": "アクションを追加", + "ADD_ALLCONDITION": "条件を追加", + "ADD_ANYCONDITION": "条件を追加", + "ADD_AUTOMATION": "オートメーションの追加", + "ADD_CANNEDANSWER": "缶詰の回答を追加", + "ADD_CUSTOMDASHBOARD": "カスタムダッシュボードの追加", + "ADD_DASHBOARDITEM": "ダッシュボードウィジェットを追加する", + "ADD_INTERVAL": "間隔の追加", "ADD_PAUSE": "一時停止を追加", - "EDIT_PAUSE": "編集の一時停止", - "DELETE_PAUSE": "一時停止を削除", - "CANNEDANSWERS": "缶詰の回答", - "ADD_CANNEDANSWER": "缶詰の回答の追加", - "EDIT_CANNEDANSWER": "缶詰にされたアンサーの編集", - "DELETE_CANNEDANSWER": "缶詰にされた答えを削除", - "KEY": "キー", - "VALUE": "値", - "SOUNDS": "サウンド", - "EDIT_SOUND": "サウンドの編集", - "DELETE_SOUND": "サウンドを削除する", - "FINISH": "完了", - "DROP_TO_UPLOAD": "アップロードのドロップ", - "TRIGGERS": "トリガー", - "EDIT_TRIGGER": "トリガーの編集", - "DELETE_TRIGGER": "トリガを削除する", - "ADD_TRIGGER": "トリガーの追加 ]", - "DELETE": "削除", - "AUTOMATIONS": "オートメーション", - "EDIT_AUTOMATION": "編集の自動化", - "DELETE_AUTOMATION": "自動化を削除します", - "ADD_AUTOMATION": "自動化を追加", - "INTERVALS": "間隔", - "EDIT_INTERVAL": "間隔の編集", - "DELETE_INTERVAL": "間隔を削除", - "ADD_INTERVAL": "間隔を追加します。", - "TOOLS": "ツール", - "ID": "Id", + "ADD_PHONE_TO_URI": "URLに電話を追加する", + "ADD_SCHEDULE": "スケジュールを追加する", + "ADD_TAG": "タグ付けする", + "ADD_TEMPLATE": "テンプレートを追加", + "ADD_TRIGGER": "トリガを追加", + "ADD_TRUNK": "トランクを追加", + "ADD_VARIABLE": "変数を追加", + "ADD_WIDGET": "ウィジェットを追加", + "ADVANCED": "上級", + "ALLCONDITIONS": "次のすべての条件を満たしてください。", + "ALLOWCODECS": "許可されたコーデック", + "ALL_USERS": "すべてのユーザー", + "ALWAYS": "常に", + "AND_SECOND": "と2番目の", + "ANSWERED": "回答", + "ANYCONDITIONS": "次のいずれかの条件を満たす:", + "APPLICATION": "応用", + "APR": "4月", + "ARGUMENTS": "引数", + "AT": "で", "AUDIO": "オーディオ", - "DOWNLOAD_SOUND": "ダウンロードサウンド", - "UPLOAD_SOUND": "ツール", + "AUG": "8月", + "AUTOCREATECONTACT": "連絡先を自動的に作成する", + "AUTOMATIONS": "自動化", + "BACK": "バック", + "BACKGROUND": "バックグラウンド", + "BACKGROUND_COLOR": "背景色", + "BROWSER": "ブラウザ", + "CALL": "コール", + "CALLCOUNTER": "コールカウンター", + "CALLERID": "発信者ID", + "CALL_LIMIT": "通話制限", + "CALL_STATUS": "通話ステータス", + "CANNEDANSWERS": "缶詰アンサー", "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": "1 月", - "FEB": "2 月", - "MAR": "3 月", - "APR": "4 月", - "MAY": "お", - "JUN": "6 月", - "JUL": "7 月", - "AUG": "8 月", - "SEP": "9 月", - "OCT": "10 月", - "NOV": "11 月", - "DEC": "12 月", - "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": "電子メールアドレス", + "CHAT": "チャット", + "CLOCK": "クロック", + "CLONE_CUSTOMDASHBOARD": "カスタムダッシュボードの複製", + "COLOR": "色", + "CONDITIONS&ACTIONS": "条件", + "CONFIGURATION": "構成", + "CONFIRM_PASSWORD": "パスワードを認証する", + "CONTACT_MANAGER": "コンタクトマネージャー", + "CONTENT": "コンテンツ", + "CONTEXT": "コンテキスト", + "COUNTER": "カウンタ", + "CREATED_AT": "作成者:", + "CRON": "クロン", + "CSV": "CSV", "CURRENTDAY": "現在の日", + "CUSTOMDASHBOARDS": "カスタムダッシュボード", + "CUSTOMTYPE": "カスタム[パス]", "DAILY": "毎日", - "WEEKLY": "ウィークリー", - "MONTHLY": "毎月の", - "PREVIOUS_DAY": "前日", - "LAST_SEVEN_DAYS": "過去 7 日間", - "LAST_THIRTY_DAYS": "最終日 Thirthy", - "LAST_MONTH": "最後の月", - "WEEKDAYS": "週の日", - "HOUR": "時間", + "DARK": "ダーク", + "DASHBOARD": "ダッシュボード", + "DAY": "日", + "DAY_AT": "1日で", + "DEC": "12月", "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": "アクションの編集", + "DEFAULTUSER": "デフォルトユーザ", + "DELETE": "削除", "DELETE_ACTION": "アクションの削除", - "NEW_ACTION": "新しいアクション", - "ADD_ACTION": "アクションの追加", - "QUEUE": "キュー", - "CALL_STATUS": "コールステータス", - "OUTBOUNDROUTE": "アウトバウンドルート", + "DELETE_ALLCONDITION": "条件を削除する", + "DELETE_ANYCONDITION": "条件を削除する", + "DELETE_AUTOMATION": "オートメーションの削除", + "DELETE_CANNEDANSWER": "缶詰の回答を削除する", + "DELETE_CUSTOMDASHBOARD": "カスタムダッシュボードの削除", + "DELETE_INTERVAL": "削除間隔", + "DELETE_PAUSE": "一時停止を削除", + "DELETE_SCHEDULE": "スケジュールを削除する", + "DELETE_SOUND": "サウンドを削除する", + "DELETE_TAG": "タグの削除", + "DELETE_TEMPLATE": "テンプレートを削除する", + "DELETE_TRIGGER": "トリガーの削除", + "DELETE_TRUNK": "トランクを削除", + "DELETE_VARIABLE": "変数の削除", + "DELETE_WIDGET": "ウィジェットを削除", + "DESCRIPTION": "説明", + "DIGITAL_FORMAT": "デジタル日付形式", + "DIRECTMEDIA": "ダイレクトメディア", + "DOWNLOAD_SOUND": "サウンドをダウンロードする", + "DROP_TO_UPLOAD": "アップロードするドロップ", + "DROP_TO_UPLOAD_MESSAGE": "アップロードするオーディオファイルをここにドロップします。 MP3、WAV、GSMのみ - 最大。 15MB", + "DTMFMODE": "DTMFモード", + "EDIT_ACTION": "アクションの編集", + "EDIT_ALLCONDITION": "条件を編集", + "EDIT_ANYCONDITION": "条件を編集", + "EDIT_AUTOMATION": "オートメーションの編集", + "EDIT_CANNEDANSWER": "缶詰の回答を編集する", + "EDIT_CUSTOMDASHBOARD": "カスタムダッシュボードの編集", + "EDIT_DASHBOARDITEM": "ダッシュボードウィジェットを編集", + "EDIT_INTERVAL": "編集間隔", + "EDIT_PAUSE": "編集を一時停止する", + "EDIT_SCHEDULE": "スケジュールの編集", + "EDIT_SOUND": "サウンドを編集する", + "EDIT_TAG": "タグの編集", + "EDIT_TEMPLATE": "テンプレートの編集", + "EDIT_TRIGGER": "トリガーの編集", + "EDIT_TRUNK": "トランクを編集", + "EDIT_VARIABLE": "変数の編集", + "EDIT_WIDGET": "ウィジェットを編集", + "EMAILADDRESS": "電子メールアドレス", + "ENCRYPTION": "暗号化", "EQUALS": "等しい", - "NOT_EQUALS": "等しくない", - "CONTACT_MANAGER": "連絡先管理マネージャ", - "INTEGRATIONS": "統合", - "MOTION_BAR": "運動可能バー", - "JSCRIPTY": "Jscripty", - "URL_FORWARD": "URL 転送", - "WEB_POPUP": "Web ポップアップ", - "LIST": "リスト", + "EVENTVARIABLES": "イベント変数", + "EVERY": "すべて", + "EXECUTEEVERY": "毎回実行する", + "EXECUTEON": "実行する", + "FAX": "ファックス", + "FEB": "2月", + "FIELD": "フィールド", + "FILTERVOICEQUEUES": "音声キューをフィルタリングする", + "FINISH": "フィニッシュ", + "FLIP_WIDGET": "フリップウィジェット", + "FONTSIZE": "フォントサイズ", + "FOREGROUND": "前景", + "FOREGROUND_COLOR": "フォアグラウンドカラー", + "FOREGROUND_TITLE_COLOR": "前景タイトルの色", + "FORMAT": "フォーマット", + "FRI": "金曜日", + "FROM": "から", + "FROMDOMAIN": "ドメインから", + "FROMUSER": "ユーザーから", + "GENERAL": "一般", + "GOTODASHBOARD_CUSTOMDASHBOARD": "ダッシュボードをプレビューする", + "GOTOREALTIME_TRUNK": "リアルタイムトランクへ", + "GOTO_CUSTOMDASHBOARD": "ダッシュボードをプレビューする", + "GOTO_TRUNK": "トランクに行く", + "HOST": "ホスト", + "HOUR": "時間", + "HOURLY": "1時間ごと", + "HOUR_ON_MINUTE": "時速", + "ID": "イド", + "IFRAME": "IFrame", + "INFO": "情報", + "INSECURE": "安全でない", "INTEGRATION": "統合", - "TEMPLATE": "テンプレート", - "URL": "URL", - "APPLICATION": "アプリケーション", - "ARGUMENTS": "引数", - "NO_APPS_AVAILABLE": "使用可能なアプリケーションがありません", - "NEW_INTERVAL": "新しい待っ", - "OPERATOR": "演算子", - "NO_INTERVALS_AVAILABLE": "利用可能な間隔がありません", - "YES": "はい", - "NO": "はありません", - "SUBJECT": "件名", - "NO_AVAILABLE_INFO": "使用可能な情報はありません", - "BROWSER": "ブラウザ", + "INTEGRATIONS": "統合", + "INTERACTION": "インタラクション", "INTERVAL": "間隔", - "INFO": "情報", - "TIME_RANGE": "時間範囲", - "WEEK_DAYS": "週の日", - "MONTH_DAYS": "月日", - "MONTHS": "か月", - "DROP_TO_UPLOAD_MESSAGE": "オーディオをここにドロップしてアップロードすることもできます。 MP 3 、 WAV 、 GSM のみの Max 。 15 MB", - "POLLING_INTERVAL": "ポーリング間隔 ( 秒 )", - "DASHBOARD": "ダッシュボード", - "NEW_DASHBOARDITEM": "新しいダッシュボードウィジェット", - "COUNTER": "カウンタ", - "IFRAME": "IFrame", - "CLOCK": "クロック", - "ADD_DASHBOARDITEM": "ダッシュボードウィジェットを追加します。", - "EDIT_WIDGET": "ウィジェットの編集", - "DELETE_WIDGET": "ウィジェットを削除", - "FLIP_WIDGET": "フリップウィジェット", - "TITLE": "タイトル", - "UPDATE": "更新", + "INTERVALS": "インターバル", + "JAN": "1月", + "JSCRIPTY": "Jscripty", + "JUL": "7月", + "JUN": "6月", + "KEY": "キー", + "LAST": "最終", + "LASTUNIT": "単位", + "LAST_MONTH": "先月", + "LAST_SEVEN_DAYS": "最後の7日間", + "LAST_THIRTY_DAYS": "最後のThirthy Days", "LAYOUT": "レイアウト", - "BACKGROUND_COLOR": "背景色", - "FOREGROUND_COLOR": "前景の色", - "FOREGROUND_TITLE_COLOR": "前景のタイトルの色", - "THEME": "テーマ", - "LIGHT": "ライト", - "DARK": "暗い", - "TIMEZONE": "タイムゾーン", - "DIGITAL_FORMAT": "デジタル日付形式", - "TOOLS_QUERY": "クエリ", - "SELECT": "を選択します", - "WHERE": "ここで", - "BACK": "背面", - "PROJECT": "プロジェクト", - "GOTOREALTIME_TRUNK": "リアルタイム・トランクに移動", - "GOTO_TRUNK": "トランクに移動", - "CRON": "Cron", - "MINUTES": "分", - "HOURLY": "1 時間ごと", - "YEARLY": "毎年", - "EVERY": "すべての", - "MINUTE": "分", - "ON_SECOND": "2 番目の", - "HOUR_ON_MINUTE": "時間の分", - "AND_SECOND": "と 2 番目の", - "DAY_AT": "1 日で", - "START_TIME": "開始時刻", - "ON_THE": "上の", - "OF_EVERY": "すべての", - "MONTH_AT": "月で", - "AT": "で", - "LAST": "最後の", - "LASTUNIT": "ユニット", + "LIGHT": "光", + "LINK": "リンク[https://]", + "LIST": "リスト", + "LOCATION": "ロケーション", + "MAIL": "Eメール", "MAILACCOUNT": "メールアカウント", - "OF": "の", - "PAST_THE_HOUR": "過去の時間", - "DAY": "日", - "WEEK": "週", - "YEAR": "å¹´", - "ON": "上の", - "PAI": "P-asserted-identity", - "PAGE": "ページ", - "ROWSPERPAGE": "ページあたりの行数", - "OUTBOUND_ROUTE": "アウトバウンドルート", - "EVENTVARIABLES": "イベント変数", - "FAX": "ファクス", - "INTERACTION": "相互作用", + "MAR": "3月", + "MAY": "5月", "MESSAGE": "メッセージ", - "T38PT_UDPTL": "T 38 pt Udptl", - "AUTOCREATECONTACT": "自動的に連絡先を作成する", - "COLOR": "カラー", - "LOCATION": "場所", + "METRIC": "メトリック", + "MINUTE": "分", + "MINUTES": "分", + "MON": "月曜", + "MONTH": "月", + "MONTHDAY": "月日", + "MONTHLY": "毎月", + "MONTHS": "月", + "MONTH_AT": "月", + "MONTH_DAYS": "月の日数", + "MOTION_BAR": "モーションバー", + "MOVE_WIDGET": "ウィジェットを移動", + "MULTIBARCHART": "マルチバーチャート", + "NAME": "名", + "NAT": "NAT", + "NEW_ACTION": "新しい行動", + "NEW_ALLCONDITION": "新規条件", + "NEW_ANYCONDITION": "新規条件", + "NEW_AUTOMATION": "新しいオートメーション", + "NEW_CANNEDANSWER": "新しい缶詰アンサー", + "NEW_CUSTOMDASHBOARD": "新しいカスタムダッシュボード", + "NEW_DASHBOARDITEM": "新しいダッシュボードウィジェット", + "NEW_INTERVAL": "新しい間隔", + "NEW_PAUSE": "新しい一時停止", + "NEW_SCHEDULE": "新しいスケジュール", "NEW_TAB": "新しいタブ", - "NEW_WINDOW": "新しいウィンドウ", - "WINDOWWIDTH": "ウィンドウの幅(ピクセル)", - "WINDOWHEIGHT": "ウィンドウの高さ( px )", - "EDIT_DASHBOARDITEM": "ダッシュボードウィジェットを編集する", - "FONTSIZE": "フォントサイズ", - "CLONE_CUSTOMDASHBOARD": "カスタムダッシュボードの複製", - "LINK": "リンク[https://]", - "BACKGROUND": "バックグラウンド", - "FOREGROUND": "前景", + "NEW_TAG": "新しいタグ", + "NEW_TEMPLATE": "新しいテンプレート", + "NEW_TRIGGER": "新規トリガー", + "NEW_TRUNK": "ニュートランク", + "NEW_VARIABLE": "新しい変数", + "NEW_WINDOW": "新しい窓", + "NEXTCONTACT": "次", + "NO": "いいえ", "NONE": "なし", - "TOTAL": "合計", - "ABANDONED": "放棄された", - "WAITING": "待っている", - "TALKING": "話す", - "ANSWERED": "回答", - "UNMANAGED": "管理されていない", - "CUSTOMTYPE": "カスタム[パス]", - "WEBREPORT": "Webレポート", + "NOT_EQUALS": "等しくない", + "NOV": "11月", + "NO_ACTION_AVAILABLE": "利用可能なアクションはありません", + "NO_ALLCONDITION_AVAILABLE": "条件なし", + "NO_ANYCONDITION_AVAILABLE": "条件なし", + "NO_APPS_AVAILABLE": "利用可能なアプリケーションがありません", + "NO_AVAILABLE_INFO": "利用可能な情報がありません", + "NO_INTERVALS_AVAILABLE": "利用可能な間隔はありません", + "OCT": "10月", + "OF": "の", + "OF_EVERY": "すべての", + "ON": "に", + "ON_SECOND": "2番目に", + "ON_THE": "オン", + "OPENCHANNEL": "オープンチャンネル", + "OPERATOR": "オペレーター", + "OTHER": "その他", + "OTHERFIELDS": "その他のフィールド", + "OUTBOUNDPROXY": "アウトバウンドプロキシ", + "OUTBOUNDROUTE": "アウトバウンドルート", + "OUTBOUND_ROUTE": "アウトバウンドルート", + "OUTPUT": "出力", + "PAGE": "ページ", + "PAI": "P-アサーション - アイデンティティ", + "PASSWORD": "パスワード", + "PAST_THE_HOUR": "過去1時間", + "PATH": "絶対パス", + "PAUSES": "一時停止", + "PDF": "PDF", + "PEERSTATUS": "ピアステータス", "PIECHART": "円グラフ", - "MULTIBARCHART": "マルチバーチャート", - "MOVE_WIDGET": "ウィジェットを移動", - "USERADD_CUSTOMDASHBOARD": "ユーザー権限を追加する", - "GOTODASHBOARD_CUSTOMDASHBOARD": "ダッシュボードをプレビューする", - "GOTO_CUSTOMDASHBOARD": "ダッシュボードをプレビューする", - "METRIC": "メトリック", - "FILTERVOICEQUEUES": "音声キューをフィルタリングする", + "POLLING_INTERVAL": "ポーリング間隔(秒)", + "PORT": "ポート", + "PREVIOUS_DAY": "前日", + "PROJECT": "プロジェクト", + "QUALIFY": "資格", + "QUEUE": "キュー", + "REFRESH": "リフレッシュ[s]", + "REGISTRY": "レジストリ", + "REPORT": "報告する", + "REPORTRANGE": "レポート範囲", + "REPORTTYPE": "レポートタイプ", + "ROWSPERPAGE": "ページあたりの行数", + "SAT": "土曜日", + "SAVE": "セーブ", + "SCHEDULER": "スケジューラ", + "SEARCH_FOR_ANYONE": "サーチ", + "SECRET": "秘密", + "SELECT": "選択", + "SELECTED": "選択された", + "SELECTED_USERS": "選択されたユーザー", + "SELECT_ALL": "すべて選択", + "SELECT_NONE": "選択なし", + "SENDMAIL": "メールを送る", + "SEND_REMOTE_PARTY_ID_HEADER": "リモートパーティIDヘッダーを送信する", + "SEP": "9月", "SERIE1": "セリエ1", "SERIE2": "セリエ2", "SERIE3": "セリエ3", - "REFRESH": "リフレッシュ[s]", - "FORMAT": "フォーマット", - "PATH": "絶対パス", - "ALL_USERS": "すべてのユーザー", - "SELECTED_USERS": "選択されたユーザー", - "ADD_WIDGET": "ウィジェットを追加", - "NEXTCONTACT": "次" + "SETTINGS": "設定", + "SMS": "SMS", + "SOUNDS": "サウンド", + "START_TIME": "始まる時間", + "STATUS": "状態", + "SUBJECT": "件名", + "SUN": "日曜日", + "T38PT_UDPTL": "T38pt Udptl", + "TAGS": "タグ", + "TALKING": "話す", + "TEMPLATE": "テンプレート", + "TEMPLATES": "テンプレート", + "THEME": "テーマ", + "THU": "木曜日", + "TIMEOUT": "タイムアウト", + "TIMEZONE": "TimeZone", + "TIME_RANGE": "時間範囲", + "TITLE": "タイトル", + "TO": "に", + "TOOLS": "ツール", + "TOOLS_QUERY": "クエリ", + "TOTAL": "合計", + "TRANSPORT": "輸送", + "TRIGGERS": "トリガー", + "TRUNKS": "トランクス", + "TRUST_REMOTE_PARTY_ID": "リモートパーティIDを信頼する", + "TUE": "火曜日", + "TYPE": "タイプ", + "UNMANAGED": "管理されていない", + "UPDATE": "更新", + "UPLOAD_SOUND": "ツール", + "URL": "URL", + "URL_FORWARD": "URLフォワード", + "USERADD_CUSTOMDASHBOARD": "ユーザー権限を追加する", + "VALIDITYEND": "終了時間", + "VALIDITYSTART": "始まる時間", + "VALUE": "値", + "VARIABLES": "変数", + "VOICE": "音声", + "WAITING": "待っている", + "WEBREPORT": "Webレポート", + "WEB_POPUP": "Webポップアップ", + "WED": "水曜日", + "WEEK": "週間", + "WEEKDAY": "週の日", + "WEEKDAYS": "週の日数", + "WEEKLY": "毎週", + "WEEK_DAYS": "週の日数", + "WHERE": "どこで", + "WINDOWHEIGHT": "ウィンドウの高さ(px)", + "WINDOWWIDTH": "ウィンドウ幅(px)", + "YEAR": "å¹´", + "YEARLY": "毎年", + "YES": "はい" } } \ No newline at end of file diff --git a/public/app/main/apps/voice/i18n/en.json b/public/app/main/apps/voice/i18n/en.json index 2221afa..5e4b141 100644 --- a/public/app/main/apps/voice/i18n/en.json +++ b/public/app/main/apps/voice/i18n/en.json @@ -15,7 +15,7 @@ "NAME": "Name", "LOGOUT": "Logout", "VOICEQUEUES": "Voice Queues", - "SEARCH_FOR_ANYONE": "Search for anyone", + "SEARCH_FOR_ANYONE": "Search", "BACK": "Back", "SELECTED": "Selected", "SELECT_ALL": "Select All", diff --git a/public/app/main/apps/voice/i18n/es.json b/public/app/main/apps/voice/i18n/es.json index 6874257..2c15dc1 100644 --- a/public/app/main/apps/voice/i18n/es.json +++ b/public/app/main/apps/voice/i18n/es.json @@ -1,421 +1,421 @@ { "VOICE": { - "GOTO_VOICEQUEUE": "Ir a las colas de voz en tiempo real", - "GOTOREALTIME_VOICEQUEUE": "Ir a las colas de voz en tiempo real", - "NAME": "Nombre", - "LOGOUT": "Cerrar sesión", - "VOICEQUEUES": "Colas de voz", - "SEARCH_FOR_ANYONE": "Buscar a alguien", - "BACK": "Volver", - "SELECTED": "Seleccionado", - "SELECT_ALL": "Seleccionar todo", - "SELECT_NONE": "Seleccione Ninguno", - "DELETE_VOICEDISPOSITION": "Eliminar la disposición de voz", - "EDIT_VOICEDISPOSITION": "Editar voz Disposición", - "EDIT_VOICEQUEUE": "Editar voz cola", - "DELETE_VOICEQUEUE": "Eliminar la cola de voz", - "MOHSOUNDS": "Sonidos de Moh", - "STRATEGY": "Estrategia", - "DESCRIPTION": "Descripción", - "ADD_VOICEQUEUE": "Añadir cola de voz", - "CREATED_AT": "Creado en", - "CANT_PLAY_GSM_AUDIO_FILES": "No puede reproducir archivos de audio GSM", - "APPLICATIONS_LIST": "Lista de aplicaciones", "LEGEND": { - "CUSTOM_APPLICATION": "(*) - aplicación personalizada." - }, - "ERRORS": { - "NAME_REQUIRED": "El nombre es obligatorio", - "APPLICATION_NAME_REQUIRED": "Se requiere el nombre de la aplicación.", - "TIMEOUT_REQUIRED": "El tiempo de espera es necesario", - "PHONENUMBER_REQUIRED": "Es necesario introducir el número de teléfono", - "CONTEXT_REQUIRED": "El contexto es necesario", - "DESTINATIONPATTERN_REQUIRED": "El patrón de destino es obligatorio", - "FULLNAME_REQUIRED": "Se requiere el nombre completo", - "EMAIL_REQUIRED": "El correo electrónico es obligatorio", - "EMAIL_MUST_VALID": "El correo electrónico debe estar escrito en un formato válido", - "MAILBOX_REQUIRED": "El buzón es obligatorio", - "PASSWORD_REQUIRED": "Es necesaria la contraseña", - "CONFIRM_NOT_MATCH": "Las contraseñas no coinciden.", - "TIMEZONE_REQUIRED": "La zona horaria es obligatoria.", - "PREFIX_REQUIRED": "El prefijo es obligatorio", - "OPTIONS_REQUIRED": "Las opciones son obligatorios", - "AFTERCALLWORKDURATION_REQUIRED": "El trabajo posterior a la llamada se requiere una duración", - "TECHNOLOGY/RESOURCE_REQUIRED": "La tecnología/recurso es necesario", - "PHONE_REQUIRED": "El teléfono es necesario", - "VALUE_REQUIRED": "El valor es obligatorio", - "EXTENSION_REQUIRED": "La extensión es necesaria", - "PRIORITY_REQUIRED": "La prioridad es necesaria", - "NAME_MUST_VALID_PATTERN": "El nombre debe estar escrito en un formato válido", - "APPLICATION_REQUIRED": "La aplicación es necesaria", - "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El tiempo de espera debe ser mayor o igual a", - "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La longitud máxima debe ser mayor o igual a", - "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El reintento debe ser mayor o igual a", - "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El tiempo de cierre debe ser mayor o igual a", - "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El peso debe ser mayor o igual a", - "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Al anunciar la frecuencia debe ser mayor o igual a", - "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La Min anunciar la frecuencia debe ser mayor o igual a", - "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Anunciar periódicamente la frecuencia debe ser mayor o igual a", - "AFTERCALLWORKDURATION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El trabajo después de la llamada La duración debe ser mayor o igual a", - "MEMBERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Los Estados retardo debe ser mayor o igual a", - "POSITION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La posición debe ser mayor o igual a", - "CUTDIGITS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El corte dígitos debe ser mayor o igual a", - "MAXSECONDS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El Max segundos debe ser mayor o igual a", - "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El número máximo de mensajes debe ser mayor o igual a", - "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El número máximo de mensajes debe ser menor o igual a" + "CUSTOM_APPLICATION": "(*) - Aplicación personalizada" }, - "GENERAL": "General", - "TIMEOUT": "Timeout", - "MAXLENGTH": "Longitud máxima", - "RETRY": "Reintentar", - "WRAPUPTIME": "Tiempo de cierre", - "WEIGHT": "Peso", - "JOINWHENEMPTY": "Unirse cuando esté vacía.", - "LEAVEWHENEMPTY": "Dejar cuando esté vacía.", "HELP": { - "TIMEOUT": "Especifica el número de segundos a la corona de un país miembro del dispositivo.", - "MAXLENGTH": "Especifica el número máximo de personas permitido estar esperando en una cola. Un valor de cero significa que un número ilimitado de llamadas están permitidos en la cola.", - "RETRY": "Especifica el número de segundos a esperar antes de intentar el siguiente miembro de la cola si el valor de tiempo de espera se agota mientras intentaba llame a un miembro de la cola.", - "WRAPUPTIME": "El número de segundos para mantener a un miembro que no está disponible en un cola después de finalizar una llamada.", - "WEIGHT": "Define el peso de una cola. Una cola con un peso mayor definido obtendrá primera prioridad cuando los miembros están asociados con varias colas.", - "JOINWHENEMPTY": "Controla si el llamante se ha añadido a la cola cuando los miembros no están disponibles.", - "LEAVEWHENEMPTY": "Se utiliza para controlar si los llamantes son expulsados de la cola cuando los miembros ya no están disponibles para realizar llamadas.", - "ANNOUNCEFREQUENCY": "Define la frecuencia con que debemos anunciar la llamada la posición y/o calcula el tiempo de espera en la cola. Establezca este valor a cero para desactivarla.", - "MINANNOUNCEFREQUENCY": "Especifica la cantidad mínima de tiempo que debe pasar antes de que podamos anunciar la llamada la posición en la cola de nuevo. Esto se usa cuando la posición de la persona que llama puede cambiar con frecuencia, para evitar que el llamador audiencia varias actualizaciones en un corto período de tiempo.", - "PERIODICANNOUNCEFREQUENCY": "Indica con qué frecuencia deberíamos hacer anuncios periódicos al llamador.", - "ANNOUNCEPOSITIONLIMIT": "Si has definido anunciar-posición como limitar o más.", - "AFTERCALLWORKDURATION": "La duración de la pausa provocada por el trabajo después de la llamada opción", - "MEMBERDELAY": "Se utiliza si desea que haya un retardo antes de que el llamador y la cola estados están conectados uno al otro.", - "MUSICONHOLD": "Establece la clase de música para ser utilizado por una cola en particular.", - "ANNOUNCETOAGENT": "Utilizado para reproducir un anuncio para el agente que atendió la llamada, normalmente para hacerle saber qué cola el llamador está viniendo.", - "RANDOMPERIODICANNOUNCE": "Si se establece en Sí, reproducirá los anuncios periódicos definidos en un orden aleatorio.", - "ANNOUNCEHOLDTIME": "Define si se estima que el tiempo de espera debe ser jugado junto con los anuncios periódicos.", - "ANNOUNCECALLERPOSITION": "Define si la posición de la llamada en la cola debe ser anunciado a ella. Si se establece en no, la posición nunca será anunciado. Si se establece en Sí, la posición de la llamada siempre será anunciado. Si se establece el valor límite, el llamante escuchará su posición en la cola sólo si está dentro de los límites definidos por anunciar la posición límite. Si el valor es mayor, la persona que llama escuchará su posición si está más allá del número definido por anunciar la posición límite.", - "REPORTHOLDTIMEAGENT": "Permite informar del tiempo de espera de la persona que llama a la cola estados antes de salvar.", - "PERIODICANNOUNCE": "Un conjunto de anuncios periódicos para ser jugado, jugado en el orden en que se definen.", - "HOLDTIMEANNOUNCE": "Si no se define, se reproducirá el valor predeterminado (\"hold time\"). Si se establece en un valor vacío, el indicador no se reproducirán en todos.", - "YOUARENEXTANNOUNCE": "Si no se define, se reproducirá el valor predeterminado (\"Ahora usted está en primera línea\"). Si se establece en un valor vacío, el indicador no se reproducirán en todos.", - "THEREAREANNOUNCE": "Si no se define, se reproducirá el valor predeterminado (\"Hay\"). Si se establece en un valor vacío, el indicador no se reproducirán en todos.", - "WAITINGCALLSANNOUNCE": "Si no se define, se reproducirá el valor predeterminado (\"llamadas en espera\"). Si se establece en un valor vacío, el indicador no se reproducirán en todos.", - "ESTIMATEDHOLDTIMEANNOUNCE": "Si no se define, se reproducirá el valor predeterminado (\"el actual tiempo de espera estimado es\"). Si se establece en un valor vacío, el indicador no se reproducirán en todos.", - "MINUTESANNOUNCE": "Si no se define, se reproducirá el valor predeterminado (\"minutos\"). Si se establece en un valor vacío, el indicador no se reproducirán en todos.", - "MINUTEANNOUNCE": "Si no se define, se reproducirá el valor predeterminado (\"minuto\"). Si se establece en un valor vacío, el indicador no se reproducirán en todos.", - "SECONDSANNOUNCE": "Si no se define, se reproducirá el valor predeterminado (\"S\"). Si se establece en un valor vacío, el indicador no se reproducirán en todos.", - "THANKYOUANNOUNCE": "Si no se define, se reproducirá el valor predeterminado (\"Gracias por su paciencia\"). Si se establece en un valor vacío, el indicador no se reproducirán en todos.", - "AFTERCALLWORK": "Si activo, el agente estará en pausa después de que se complete una llamada en la cola.", - "AUTOPAUSE": "Activa/desactiva la pausa automática de miembros que no contestar una llamada. Si activo provoca este miembro a ser pausada en todas las colas que él es un miembro de.", - "RINGINUSE": "Se utiliza para evitar el envío de llamadas a miembros cuya situación no está en uso.", - "TIMEOUTRESTART": "Si se establece en Sí, se restablece el tiempo de espera para un agente para contestar si un estado ocupado o congestión es recibida desde el canal.", - "MONITORFORMAT": "Especifica el formato de archivo que se va a utilizar durante la grabación. Si el formato del monitor está inactivo, las llamadas no se grabarán.", - "CONTEXT": "Permite a una persona a salir de la cola pulsando un único dígito DTMF. Si se especifica un contexto y el interlocutor introduzca un número, ese dígito intentará ser igualado en el contexto especificado y ejecución dialplan continuará allí.", - "SETINTERFACEVARIABLES": "Si se establece en Sí, justo antes de que el cliente se enlaza con una cola estados algunas variables se establecerá(véase wiki)", - "SETQUEUEVARIABLES": "Si se establece en Sí, justo antes de que el cliente se enlaza con un miembro de la cola y justo antes de que el llamador dejando la cola algunas variables se establecerá(véase wiki)", - "SETQUEUEENTRYVARIABLES": "Si se establece en Sí, justo antes de que el cliente se enlaza con una cola estados algunas variables se establecerá(véase wiki)", - "RECORDING": "Habilitar la grabación de llamada", - "VOICEMAIL_CONTEXT": "El contexto de la extensión relativa.", - "NAME": "Sólo los números, letras y caracteres específicos (_) son compatibles." + "AFTERCALLWORK": "Si está habilitado, el agente se configurará en Pausa después de completar una llamada", + "AFTERCALLWORKDURATION": "Longitud de pausa activada por la opción de trabajo posterior a la llamada", + "ANNOUNCECALLERPOSITION": "Se usa para definir si se debe anunciar la posición de la persona que llama en la cola: No = nunca; Sí = siempre; Límite = solo si está dentro del límite definido por announce-position-limit; Más = solo si está más allá del valor definido por announce-position-limit", + "ANNOUNCEFREQUENCY": "Con qué frecuencia se anuncia la posición de la persona que llama y / o el tiempo de espera estimado en la cola (cero para deshabilitar)", + "ANNOUNCEHOLDTIME": "Reproduce el tiempo de espera estimado junto con los anuncios periódicos (Sí / No / Una vez)", + "ANNOUNCEPOSITIONLIMIT": "Se usa si la posición de anuncio se define como 'límite' o 'más'", + "ANNOUNCETOAGENT": "Reproduzca un anuncio para el agente que contesta la llamada (generalmente para informarle de qué cola proviene la persona que llama)", + "AUTOPAUSE": "Habilita / deshabilita la pausa automática de los agentes que no responden una llamada. Si está habilitado, hace que el agente se pause en todas las colas a las que pertenece", + "CONTEXT": "Permite que una persona que llama salga de la cola presionando un solo dígito DTMF. Si se especifica un contexto y la persona que llama ingresa un número, ese dígito intentará coincidir en el contexto especificado, y la ejecución del plan de marcado continuará allí.", + "ESTIMATEDHOLDTIMEANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"El tiempo de espera estimado actual es\". Indefinido = sin anuncio", + "HOLDTIMEANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"Tiempo de espera\". Indefinido = sin anuncio", + "JOINWHENEMPTY": "Se usa para controlar si una persona que llama se pasa a una cola cuando no hay miembros disponibles", + "LEAVEWHENEMPTY": "Se usa para controlar si las personas que llaman se retiran de la cola cuando no hay miembros disponibles para atender llamadas.", + "MAXLENGTH": "Número máximo de llamadas permitidas para esperar en una cola: cero significa ilimitado", + "MEMBERDELAY": "Inserta un retraso antes de que la persona que llama y el agente en la cola se conecten", + "MINANNOUNCEFREQUENCY": "Frecuencia mínima de anuncio (útil cuando la posición de quien llama cambia con frecuencia)", + "MINUTEANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"minuto\". Indefinido = sin anuncio", + "MINUTESANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"minutos\". Indefinido = sin anuncio", + "MONITORFORMAT": "Especifica el formato de archivo para usar al grabar. Si el formato de monitor está inactivo, las llamadas no se grabarán", + "MUSICONHOLD": "Establece la clase de música para usar en una cola particular", + "NAME": "Solo se admiten números, letras y caracteres específicos (._)", + "PERIODICANNOUNCE": "Conjunto de anuncios periódicos para ser reproducidos (en el orden)", + "PERIODICANNOUNCEFREQUENCY": "Frecuencia de anuncios periódicos a la persona que llama", + "RANDOMPERIODICANNOUNCE": "En caso afirmativo, los anuncios periódicos definidos se reproducirán al azar", + "RECORDING": "Habilitar grabación de llamadas", + "REPORTHOLDTIMEAGENT": "Permite informar el tiempo de espera del llamante al agente en la cola antes de la conexión", + "RETRY": "Tiempo en segundos de espera antes de llamar al siguiente agente en la cola cuando el tiempo de espera ha expirado", + "RINGINUSE": "Para evitar / permitir el envío de llamadas a miembros cuyo estado sea En uso", + "SECONDSANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"segundos\". Indefinido = sin anuncio", + "SETINTERFACEVARIABLES": "Si se establece en sí, justo antes de que la persona que llama se conecte con un agente de cola, se establecerán algunas variables (para más información, consulte los documentos wiki)", + "SETQUEUEENTRYVARIABLES": "Si se establece en sí, justo antes de que la persona que llama se conecte con un agente de cola se establecerán algunas variables (para más información, vea los documentos wiki)", + "SETQUEUEVARIABLES": "Si se establece en sí, justo antes de que la persona que llama se conecte con un agente de cola y abandone la cola, se establecerán algunas variables (para obtener más información, consulte los documentos wiki)", + "THANKYOUANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"Gracias por su paciencia\". Indefinido = sin anuncio", + "THEREAREANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"Hay\". Indefinido = sin anuncio", + "TIMEOUT": "Cuántos segundos para sonar un dispositivo", + "TIMEOUTRESTART": "En caso afirmativo, esto restablece el tiempo de espera para que un agente responda cuando se recibe un estado OCUPADO o CONGESTIÓN del canal", + "VOICEMAIL_CONTEXT": "El contexto de la extensión relativa", + "WAITINGCALLSANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"llamadas en espera\". Indefinido = sin anuncio", + "WEIGHT": "Peso de una cola para definir la prioridad si los miembros están asociados con múltiples colas", + "WRAPUPTIME": "Tiempo en segundos para mantener un miembro de la cola no disponible después de completar una llamada", + "YOUARENEXTANNOUNCE": "Elija un sonido definido en Herramientas. Predeterminado = \"Ahora eres el primero en la fila\". Indefinido = sin anuncio" }, - "MUSICONHOLD": "Música en espera", - "ANNOUNCETOAGENT": "Anunciar al agente", + "ERRORS": { + "AFTERCALLWORKDURATION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "AFTERCALLWORKDURATION_REQUIRED": "Campo obligatorio", + "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "APPLICATION_NAME_REQUIRED": "Campo obligatorio", + "APPLICATION_REQUIRED": "Campo obligatorio", + "CONFIRM_NOT_MATCH": "Las contraseñas no coinciden", + "CONTEXT_REQUIRED": "Campo obligatorio", + "CUTDIGITS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "DESTINATIONPATTERN_REQUIRED": "Campo obligatorio", + "EMAIL_MUST_VALID": "Formato erróneo", + "EMAIL_REQUIRED": "Campo obligatorio", + "EXTENSION_REQUIRED": "Campo obligatorio", + "FULLNAME_REQUIRED": "Campo obligatorio", + "MAILBOX_REQUIRED": "Campo obligatorio", + "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que", + "MAXSECONDS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "MEMBERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "NAME_MUST_VALID_PATTERN": "Formato erróneo", + "NAME_REQUIRED": "Campo obligatorio", + "OPTIONS_REQUIRED": "Campo obligatorio", + "PASSWORD_REQUIRED": "Campo obligatorio", + "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "PHONENUMBER_REQUIRED": "Campo obligatorio", + "PHONE_REQUIRED": "Campo obligatorio", + "POSITION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "PREFIX_REQUIRED": "Campo obligatorio", + "PRIORITY_REQUIRED": "Campo obligatorio", + "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "TECHNOLOGY/RESOURCE_REQUIRED": "Campo obligatorio", + "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "TIMEOUT_REQUIRED": "Campo obligatorio", + "TIMEZONE_REQUIRED": "Campo obligatorio", + "VALUE_REQUIRED": "Campo obligatorio", + "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", + "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que" + }, + "ABANDONED": "Abandonado", + "ABANDONEDCALLS": "Llamadas de cola abandonadas", + "ABANDONED_CALLS": "Llamadas abandonadas", + "ACCOUNTNAME": "Nombre de la cuenta", + "ACTIONS": "Comportamiento", + "ACTIVE": "Activo", + "ADD_AGENT_TO_QUEUE": "Agregar agente a la cola", + "ADD_AGENT_TO_VOICEQUEUE": "Agregar agente a cola de voz", + "ADD_CHANSPY": "Añadir ChanSpy", + "ADD_CONTEXT": "Agregar contexto", + "ADD_INBOUNDROUTE": "Añadir ruta de entrada", + "ADD_INTERNALROUTE": "Agregar ruta interna", + "ADD_MOHSOUND": "Añadir música en espera", + "ADD_MUSICONHOLD": "Agregar música en espera", + "ADD_OUTBOUNDROUTE": "Agregar ruta de salida", + "ADD_TEAM_TO_VOICEQUEUE": "Agregar equipo a cola de voz", + "ADD_VOICEMAIL": "Añadir correo de voz", + "ADD_VOICEQUEUE": "Agregar cola de voz", + "ADVANCED": "Avanzado", + "AFTERCALLWORK": "Después del trabajo de llamada", + "AFTERCALLWORKDURATION": "Después de la duración del trabajo de llamada", + "AGENT": "Agente", + "AGENTADD_QUEUE": "Agregar cola de agente a voz", + "AGENTADD_VOICEQUEUE": "Agregar cola de agente a voz", + "AGENTS": "Agentes", + "AGENTSADD_QUEUE": "Agregar agentes a la cola de voz", + "AGI": "Agi", + "ALL": "Todas", + "ALL_AGENTS": "Todos los agentes", + "ALL_TEAMS": "Todos los equipos", + "ALPHABETICAL": "Alfabético", + "ANNOUNCECALLERPOSITION": "Anunciar la posición de la persona que llama", + "ANNOUNCEFREQUENCY": "Anunciar Frecuencia", + "ANNOUNCEHOLDTIME": "Anunciar tiempo de espera", "ANNOUNCEMENTS": "Anuncios", - "ADVANCED": "Advanced", - "ANNOUNCEFREQUENCY": "Anunciar la frecuencia", - "MINANNOUNCEFREQUENCY": "Anunciar la frecuencia mínima", - "PERIODICANNOUNCEFREQUENCY": "Anunciar frecuencia periódica", - "RANDOMPERIODICANNOUNCE": "Anuncio periódico aleatorio", - "ANNOUNCEHOLDTIME": "Anunciar el tiempo de espera", - "ANNOUNCECALLERPOSITION": "Anunciar la posición de llamada", - "ANNOUNCEPOSITIONLIMIT": "Anunciar la posición límite", - "REPORTHOLDTIMEAGENT": "Informe de tiempo de espera del agente", - "PERIODICANNOUNCE": "Anunciar periódica", - "HOLDTIMEANNOUNCE": "Tiempo de espera anunciar", - "YOUARENEXTANNOUNCE": "\"Usted es el próximo\" anunciar", - "THEREAREANNOUNCE": "'hay' anunciar", - "WAITINGCALLSANNOUNCE": "Llamadas en espera anunciar", - "ESTIMATEDHOLDTIMEANNOUNCE": "Calcula el tiempo de espera anunciar", - "MINUTESANNOUNCE": "Minutos anunciar", - "MINUTEANNOUNCE": "Minuto anunciar", - "SECONDSANNOUNCE": "Segundos anunciar", - "THANKYOUANNOUNCE": "'Gracias' anunciar", - "AUTOPAUSE": "Auto Pause", - "AFTERCALLWORK": "Trabajo posterior a la llamada", - "AFTERCALLWORKDURATION": "Después de llamar a la duración del trabajo", - "RINGINUSE": "Anillo en uso", - "MEMBERDELAY": "Estados demora", - "TIMEOUTRESTART": "Timeout reiniciar", - "MONITORFORMAT": "Formato de grabación", - "SETINTERFACEVARIABLES": "Establecer variables de interfaz", - "SETQUEUEVARIABLES": "Establecer variables de cola", - "SETQUEUEENTRYVARIABLES": "Establecer variables de entrada de la cola", - "VARIABLE": "Variable", + "ANNOUNCEPOSITIONLIMIT": "Anunciar el límite de posición", + "ANNOUNCETOAGENT": "Anunciar al agente", + "ANNOUNCE_OVERRIDES": "Anunciar anulaciones", + "ANSWER": "Responder", + "ANSWERED": "Contestada", + "ANSWEREDAT": "Respondido en", + "APPLICATION": "Solicitud", + "APPLICATIONS_LIST": "Lista de aplicaciones", + "APPLICATION_NAME": "Nombre de la aplicación", + "ARGUMENTS": "Argumentos", + "ATTACH": "Adjuntar", + "AUDIO": "Audio", + "AUDIOFILES": "Archivos de sonido", + "AUDIO_FILES": "Archivos de sonido", + "AUTH": "Auth", + "AUTOPAUSE": "Pausa Automática", + "AVG_BILLABLE": "Avg Billable", + "AVG_DURATION": "Duración de Av", + "AVG_HOLD_TIME": "Tiempo promedio de espera", + "BACK": "Espalda", + "BILLABLESECONDS": "Segundos facturables", + "BUSY": "Ocupado", + "CALLED": "Llamado", + "CALLER": "Llamador", + "CALLER_ID": "Identificador de llamadas", + "CALLS": "Llamadas", + "CALLYSQUARE": "CallySquare", + "CANT_PLAY_GSM_AUDIO_FILES": "No se pueden reproducir archivos de audio gsm o wav49", + "CHANSPIES": "ChanSpy", + "CHANSPY": "ChanSpy", + "CHAT": "Charla", + "CLEAR": "Claro", + "CLOSE": "Cerca", + "CLOSING": "Clausura", + "CONFIRM_PASSWORD": "Confirmar contraseña", + "CONNECTED": "Conectado", "CONTEXT": "Contexto", - "SAVE": "Guardar", - "SETTINGS": "Configuración", - "INBOUNDROUTES": "Rutas entrantes", - "PHONENUMBER": "Número de teléfono", - "ADD_INBOUNDROUTE": "Agregar rutas entrantes", - "EDIT_INBOUNDROUTE": "Editar ruta entrante", - "DELETE_INBOUNDROUTE": "Eliminar rutas entrantes", - "ACTIONS": "Acciones", - "OUTBOUNDROUTES": "Rutas salientes", - "DESTINATIONPATTERN": "Patrón de destino", - "ADD_OUTBOUNDROUTE": "Agregar ruta saliente", - "EDIT_OUTBOUNDROUTE": "Editar ruta saliente", - "DELETE_OUTBOUNDROUTE": "Eliminar ruta saliente", + "CONTEXTS": "Contextos", + "CREATED_AT": "Creado en", + "CUSTOM": "Personalizado", "CUTDIGITS": "Cortar dígitos", - "RECORDING": "Grabación", - "RECORDINGFORMAT": "Formato de grabación", - "INTERNALROUTES": "Las rutas internas", - "ADD_INTERNALROUTE": "Agregar ruta interna", - "EDIT_INTERNALROUTE": "Editar ruta interna", + "DATE": "Fecha", + "DEFAULT_PAUSE": "PAUSA PREDETERMINADA", + "DELETE": "Borrar", + "DELETE_APP": "Eliminar aplicación", + "DELETE_CHANSPY": "Eliminar ChanSpy", + "DELETE_CONTEXT": "Eliminar contexto", + "DELETE_INBOUNDROUTE": "Eliminar la ruta de entrada", "DELETE_INTERNALROUTE": "Eliminar ruta interna", - "CONTEXTS": "Contextos", - "ADD_CONTEXT": "Añadir Contexto", - "EDIT_CONTEXT": "Contexto de edición", - "DELETE_CONTEXT": "Eliminar marco", - "VOICEMAILS": "Correos de voz.", - "ADD_VOICEMAIL": "Agregar Voicemail", - "EDIT_VOICEMAIL": "Editar Voicemail", - "DELETE_VOICEMAIL": "Eliminar correo de voz", - "FULLNAME": "Nombre completo", - "EMAIL": "Correo electrónico", - "MAILBOX": "Buzón", - "PASSWORD": "Contraseña", - "CONFIRM_PASSWORD": "Confirmar contraseña", - "TIMEZONE": "Zona horaria", - "ATTACH": "Adjuntar", - "ENVELOPE": "Sobre", - "DELETE": "Eliminar", - "EMAILBODY": "El cuerpo del correo electrónico", - "EMAILSUBJECT": "El asunto del correo electrónico", - "MAXSECONDS": "Max segundos", - "MAXMESSAGES": "Número máximo de mensajes", - "MESSAGES": "Mensajes", - "SORT": "Ordenar", - "ADD_MUSICONHOLD": "Agregar música en espera", - "MUSICONHOLDS": "Música en espera", - "EDIT_MUSICONHOLD": "Editar música en espera", + "DELETE_MESSAGE": "Borrar", + "DELETE_MOHSOUND": "Eliminar música en espera sonido", "DELETE_MUSICONHOLD": "Eliminar música en espera", + "DELETE_OUTBOUNDROUTE": "Eliminar ruta de salida", + "DELETE_VOICEDISPOSITION": "Eliminar la disposición de voz", + "DELETE_VOICEMAIL": "Eliminar correo de voz", + "DELETE_VOICEQUEUE": "Eliminar cola de voz", + "DELETE_VOICERECORDING": "Eliminar grabación de voz", + "DESCRIPTION": "Descripción", + "DESTINATION": "Destino", + "DESTINATIONPATTERN": "Patrón de destino", + "DETAILS": "Detalles", + "DIAL": "Marcar", + "DID": "HIZO", "DIRECTORY": "Directorio", - "AUDIOFILES": "Archivos de audio", - "RECORDINGS": "Grabaciones", - "CHANSPY": "ChanSpy", - "PREFIX": "Prefijo", - "OPTIONS": "Opciones", - "AUTH": "Auth", - "ADD_CHANSPY": "Agregar ChanSpy", + "DISPOSITION": "Disposición", + "DOWNLOAD_MESSAGE": "Descargar", + "DOWNLOAD_MOHSOUND": "Descargar Music On Hold sound", + "DOWNLOAD_VOICERECORDING": "Descargar grabación de voz", + "DURATION": "Duración", + "EDIT_AGI": "Editar AGI", + "EDIT_APP": "Editar aplicación", "EDIT_CHANSPY": "Editar ChanSpy", - "DELETE_CHANSPY": "Eliminar ChanSpy", - "AGENTS": "Los agentes", - "TELEPHONES": "Teléfonos", - "QUEUES": "Colas", - "QUEUE_CALLS": "Llamadas de cola", - "QUEUE_PARAMETERS": "Parámetros de cola", - "ABANDONED_CALLS": "Llamadas abandonadas", - "OUTBOUND_CALLS": "Llamadas salientes", - "AGI": "AGI", - "DIAL": "Marcar", - "CALLYSQUARE": "CallySquare", - "INTERNALDIAL": "Marcación interna", - "EXTERNALDIAL": "Marcación externa", - "RINGGROUP": "Grupo de anillos", - "PLAYBACK": "La reproducción", - "QUEUE": "Cola", - "SET": "Establecer", - "VOICEMAIL": "Voicemail", - "GOTO": "GoTo", - "HANGUP": "Colgar", - "CUSTOM": "Custom", - "PROJECT": "Proyecto Cally-Square", - "TECHNOLOGY/RESOURCE": "Tecnología/Resource", - "URL": "URL", - "EDIT_APP": "Aplicación de edición", - "EDIT_INTERVAL": "Editar intervalo", - "DELETE_APP": "Eliminar la aplicación", - "INTERVALS": "Intervalos", - "USER": "Usuario", - "TRUNK": "Tronco", - "PHONE": "Teléfono", - "AUDIO_FILES": "Archivos de audio", - "ANNOUNCE_OVERRIDES": "Anunciar anula", - "MACRO": "Macro", - "GOSUB": "GoSub", - "RULE": "Artículo", - "POSITION": "Posición", - "ANSWER": "Respuesta", - "VALUE": "Valor", - "MAILBOX@CONTEXT": "Buzón@Contexto", - "EXTENSION": "Extensión", - "PRIORITY": "Prioridad", - "HANGUP_CAUSE": "Causa colgar", - "OUTBOUNDDIAL": "Marcación saliente", - "CALLER_ID": "Caller ID (identificador de llamadas)", - "NO_MESSAGE_AVAILABLE": "No hay mensajes disponibles", - "NO_SOUND_AVAILABLE": "No hay sonidos disponibles", - "VOICERECORDINGS": "Grabaciones de voz", - "CHANSPIES": "Chan espías", - "VOICE": "Voz", - "REALTIME": "Realtime", - "ID": "Id", - "VOICEMAIL_CONTEXT": "Contexto", - "NO_MOHSOUND_AVAILABLE": "Música en espera no disponible", - "FILE": "Archivo", - "ADD_MOHSOUND": "Agregar sonido de música en espera", - "DOWNLOAD_MOHSOUND": "Descargar música en espera sonido", - "DELETE_MOHSOUND": "Eliminar sonido de música en espera", - "UNIQUEID": "Identificador único", - "AGENT": "Agent", - "TYPE": "Tipo", - "RATING": "Rating", - "AUDIO": "Audio", - "DATE": "Fecha", - "NEW_VOICEQUEUE": "Nueva cola de voz", - "NEW_INBOUNDROUTE": "Nueva ruta de entrada", - "NEW_OUTBOUNDROUTE": "Nueva ruta saliente", - "NEW_INTERNALROUTE": "Nueva ruta interna", - "NEW_CONTEXT": "Nuevo contexto", - "NEW_VOICEMAIL": "Nuevo correo de voz", - "NEW_MUSICONHOLD": "Nueva música en espera", - "NEW_CHANSPY": "Nueva ChanSpy", - "PENALTY": "Pena", - "ADD_TEAM_TO_VOICEQUEUE": "Agregar equipo a cola de voz", - "ADD_AGENT_TO_VOICEQUEUE": "Agregar agente de cola de voz", + "EDIT_CONTEXT": "Editar contexto", + "EDIT_CUSTOM": "Editar personalizado", "EDIT_DIAL": "Editar marcación", - "EDIT_AGI": "Editar AGI", - "EDIT_INTERNALDIAL": "Editar marcación interna", "EDIT_EXTERNALDIAL": "Editar marcación externa", - "EDIT_RINGGROUP": "Editar grupo de anillos", + "EDIT_GOTO": "Editar GoTo", + "EDIT_HANGUP": "Editar Hangup", + "EDIT_INBOUNDROUTE": "Editar ruta de entrada", + "EDIT_INTERNALDIAL": "Editar dial interno", + "EDIT_INTERNALROUTE": "Editar ruta interna", + "EDIT_INTERVAL": "Intervalo de edición", + "EDIT_MUSICONHOLD": "Editar música en espera", + "EDIT_OUTBOUNDDIAL": "Editar marcador de salida", + "EDIT_OUTBOUNDROUTE": "Editar ruta de salida", "EDIT_PLAYBACK": "Editar reproducción", "EDIT_QUEUE": "Editar cola", - "EDIT_SET": "Editar", - "EDIT_GOTO": "Editar GoTo", - "EDIT_HANGUP": "Editar Colgar", - "EDIT_CUSTOM": "Editar Custom", - "DURATION": "Duración", - "RECEIVED_AT": "Recibido en", - "YES": "Sí", - "NO": "No hay", + "EDIT_RINGGROUP": "Editar grupo de timbre", + "EDIT_SET": "Editar conjunto", + "EDIT_TRUNK": "Editar trunk", + "EDIT_VOICEDISPOSITION": "Editar Disposición de Voz", + "EDIT_VOICEMAIL": "Editar correo de voz", + "EDIT_VOICEQUEUE": "Editar cola de voz", + "EDIT_VOICERECORDING": "Editar grabación de voz", + "EMAIL": "Email", + "EMAILBODY": "Cuerpo del correo electronico", + "EMAILSUBJECT": "Asunto del email", + "ENDEDAT": "Terminado en", + "ENVELOPE": "Sobre", + "ESTIMATEDHOLDTIMEANNOUNCE": "Anuncio estimado de tiempo de espera", + "EXTENSION": "Extensión", + "EXTERNALDIAL": "Dial externo", + "FAILED": "Ha fallado", + "FAX": "Fax", + "FILE": "Archivo", + "FILES": "Archivos", + "FORMAT": "Formato", + "FULLNAME": "Nombre completo", + "GENERAL": "General", + "GOSUB": "GoSub", + "GOTO": "Ir", + "GOTOREALTIME_VOICEQUEUE": "Ir a colas de voz en tiempo real", + "GOTO_VOICEQUEUE": "Ir a colas de voz en tiempo real", + "HANGUP": "Colgar", "HANGUPCAUSE_1": "1 = número sin asignar", - "HANGUPCAUSE_16": "16 = llamada Normail borrado", + "HANGUPCAUSE_16": "16 = Limpieza de llamada normal", "HANGUPCAUSE_17": "17 = Usuario ocupado", - "HANGUPCAUSE_18": "18 = Sin respuesta del usuario (teléfono Dispositivo no conectado)", + "HANGUPCAUSE_18": "18 = Sin respuesta del usuario (dispositivo de teléfono no conectado)", "HANGUPCAUSE_21": "21 = Llamada rechazada", "HANGUPCAUSE_22": "22 = Número cambiado", - "HANGUPCAUSE_27": "27 = Destino fuera de orden.", - "HANGUPCAUSE_38": "38 = red fuera de orden.", - "HANGUPCAUSE_41": "41 = Error temporal", - "RANDOM": "Random", - "ALPHABETICAL": "Orden alfabético", - "NO_APPS_AVAILABLE": "No hay aplicaciones disponibles", - "DOWNLOAD_VOICERECORDING": "Descargar la grabación de voz", - "DELETE_VOICERECORDING": "Eliminar la grabación de voz", + "HANGUPCAUSE_27": "27 = Destino fuera de servicio", + "HANGUPCAUSE_38": "38 = Red fuera de servicio", + "HANGUPCAUSE_41": "41 = falla temporal", + "HANGUP_CAUSE": "Causa de Hangup", + "HOLDTIMEANNOUNCE": "Anunciar el tiempo de espera", + "ID": "Id", + "IDLE": "Ocioso", + "INBOUNDROUTES": "Rutas de entrada", + "INFO": "Información", "INTERNAL": "Interno", - "PHONE_STATE": "Estado del teléfono", - "PHONE_STATUS": "Estado del teléfono", - "TRUNK_STATUS": "Estado troncal", - "REGISTERED": "Registrado", - "UNREGISTERED": "Unregistered", - "LAGGED": "Retrasado", - "REACHABLE": "Accesible", - "UNREACHABLE": "Inalcanzable", - "UNKNOWN": "Desconocida", - "NOT_INUSE": "No en uso", + "INTERNALDIAL": "Dial interno", + "INTERNALROUTES": "Rutas internas", + "INTERVALS": "Intervalos", "INUSE": "En uso", - "BUSY": "Ocupada", - "INVALID": "Invalid", - "UNAVAILABLE": "No disponible", - "RINGING": "Sonando", - "ONHOLD": "En espera", - "RING": "Ring", - "UP": "Arriba", - "INFO": "Info", - "TRUNKS": "Enlaces", - "REGISTRY": "Registro", - "NO_REGISTRY": "No hay registro", - "LOGGED_IN": "Iniciar sesión", - "PAUSED": "En pausa", - "WAITING": "Esperando", - "TALKING": "Hablando", - "DID": "¿", - "CALLER": "Llamador", - "TOTAL": "Total", - "ANSWERED": "Contestadas", - "ABANDONED": "Abandonado", - "UNMANAGED": "Unmanaged", - "AVG_HOLD_TIME": "Promedio de tiempo de espera", - "AVG_DURATION": "Duración AV", - "AVG_BILLABLE": "Avg facturable.", - "SOURCE": "Fuente", - "DESTINATION": "Destino", - "REJECTED": "Rechazada", - "FAILED": "Error", - "CALLED": "Llama", - "CONNECTED": "Conectado", - "NO_RATING": "Sin calificación", - "EDIT_VOICERECORDING": "Editar la grabación de voz", - "APPLICATION_NAME": "Nombre de la aplicación", - "ARGUMENTS": "Argumentos", + "INVALID": "Inválido", + "JOINWHENEMPTY": "Únete cuando estés vacío", + "LAGGED": "Lagged", + "LEAVEWHENEMPTY": "Deje cuando esté vacío", + "LOGGED_IN": "Conectado (SIP conectado)", + "LOGOUT": "Cerrar sesión", + "MACRO": "Macro", + "MAIL": "Email", + "MAILBOX": "Buzón", + "MAILBOX@CONTEXT": "Buzón @ Contexto", + "MAXLENGTH": "Longitud máxima", + "MAXMESSAGES": "Mensajes máximos", + "MAXSECONDS": "Max segundos", + "MEMBERDELAY": "Demora de miembro", + "MESSAGES": "Mensajes", + "MINANNOUNCEFREQUENCY": "Frecuencia de anuncio mínimo", + "MINUTEANNOUNCE": "Minuto anuncia", + "MINUTESANNOUNCE": "Minutos anuncian", + "MODE": "Modo", + "MOHSOUNDS": "Sonidos de Moh", + "MONITORFORMAT": "Formato de grabación", + "MUSICONHOLD": "Música en espera", + "MUSICONHOLDS": "Música en espera", + "NAME": "Nombre", + "NEW_CHANSPY": "Nueva ChanSpy", + "NEW_CONTEXT": "Nuevo contexto", + "NEW_INBOUNDROUTE": "Nueva ruta de entrada", + "NEW_INTERNALROUTE": "Nueva ruta interna", + "NEW_MOHSOUND": "Nuevo sonido de Music On Hold", + "NEW_MUSICONHOLD": "Nueva música en espera", + "NEW_OUTBOUNDROUTE": "Nueva ruta de salida", + "NEW_VOICEMAIL": "Nuevo mensaje de voz", + "NEW_VOICEQUEUE": "Nueva cola de voz", + "NO": "No", + "NOTE": "Nota", + "NOT_INUSE": "No esta en uso", + "NO_AGENT_ONLINE": "Sin agente en línea", + "NO_APPS_AVAILABLE": "No hay aplicaciones disponibles", "NO_AVAILABLE_INFO": "No hay información disponible", - "ADD_AGENT_TO_QUEUE": "Agregar a la cola del agente", - "DEFAULT_PAUSE": "Pausa predeterminada", + "NO_MESSAGE_AVAILABLE": "No hay mensajes disponibles", + "NO_MOHSOUND_AVAILABLE": "No hay música en espera disponible", + "NO_RATING": "Sin evaluar", + "NO_REGISTRY": "Sin registro", + "NO_SOUND_AVAILABLE": "No hay sonidos disponibles", + "OF": "de", + "ONHOLD": "En espera", + "OPENCHANNEL": "Canal abierto", + "OPTIONS": "Opciones", + "OUTBOUNDDIAL": "Marcación de salida", + "OUTBOUNDROUTES": "Rutas de salida", + "OUTBOUND_CALLS": "Llamadas salientes", + "PAGE": "Página", + "PARTIALPAUSE": "Pausa parcial", + "PASSWORD": "Contraseña", "PAUSE": "Pausa", - "UNPAUSE": "Reanudo", - "REDIRECT_TO_NUMBER": "Redirigir a número", - "REDIRECT_TO_AGENT": "Redirigir al agente", - "AGENTADD_VOICEQUEUE": "Agregar agente de cola de voz", - "APPLICATION": "Aplicación", - "FILES": "Archivos", - "FORMAT": "Formato", - "MODE": "Mode", - "RECORD": "Grabar", - "TEAMADD_VOICEQUEUE": "Agregar equipo voicequeue", - "NEW_MOHSOUND": "Nuevo sonido de música en espera", - "DOWNLOAD_MESSAGE": "Descargar", - "DELETE_MESSAGE": "Eliminar", + "PAUSED": "Pausado", + "PENALTY": "Pena", + "PERIODICANNOUNCE": "Anuncio periódico", + "PERIODICANNOUNCEFREQUENCY": "Frecuencia de anuncio periódico", + "PHONE": "Teléfono", + "PHONENUMBER": "Número de teléfono", + "PHONE_STATE": "Estado del teléfono", + "PHONE_STATUS": "Estado del teléfono", + "PLAYBACK": "Reproducción", + "POSITION": "Posición", + "PREFIX": "Prefijo", + "PRIORITY": "Prioridad", + "PROJECT": "Proyecto Cally-Square", + "QUEUE": "Cola", + "QUEUES": "Colas", + "QUEUE_CALLS": "Llamadas en cola", + "QUEUE_PARAMETERS": "Parámetros de cola", "QUEUE_PARAMS": "Parámetros de cola", - "TOTAL_OFFERED": "Total ofertado", + "RANDOM": "Aleatorio", + "RANDOMPERIODICANNOUNCE": "Anuncio periódico aleatorio", + "RATING": "Clasificación", + "REACHABLE": "Accesible", "READY": "Listo", - "AGENTADD_QUEUE": "Agregar Agente de colas de voz", - "AGENTSADD_QUEUE": "Añadir agentes a cola de voz", - "ALL_TEAMS": "Todos los equipos", - "SELECTED_TEAMS": "Los equipos seleccionados", - "ALL_AGENTS": "Todos los agentes", - "SELECTED_AGENTS": "Los agentes seleccionados", - "CLOSING": "Cerrar", - "TAGS": "Tags", - "WAITING_FOR_AGENT": "Esperando para agentes", - "EDIT_OUTBOUNDDIAL": "Editar marcación saliente", - "ACCOUNTNAME": "Nombre de cuenta", - "PAGE": "Página", - "ROWSPERPAGE": "Filas por página.", - "OF": "De", - "DISPOSITION": "Disposición", - "WAITING_FOR_AGENTS": "Esperando para agentes", - "CHAT": "Chat", - "MAIL": "Mail", + "REALTIME": "Tiempo real", + "RECEIVED_AT": "Recibido en", + "RECORD": "Grabar", + "RECORDING": "Grabación", + "RECORDINGFORMAT": "Formato de grabación", + "RECORDINGS": "Grabaciones", + "REDIRECT_TO_AGENT": "Redireccionar al agente", + "REDIRECT_TO_NUMBER": "Redirigir al número", + "REGISTERED": "Registrado", + "REGISTRY": "Registro", + "REJECTED": "Rechazado", + "REPORTHOLDTIMEAGENT": "Tiempo de espera del agente de informes", + "RETRY": "Rever", + "RING": "anillo", + "RINGGROUP": "Grupo de anillos", + "RINGING": "Zumbido", + "RINGINUSE": "Anillo en uso", + "ROWSPERPAGE": "Filas por página", + "RULE": "Regla", + "SAVE": "Salvar", + "SEARCH_FOR_ANYONE": "Busque a alguien", + "SECONDSANNOUNCE": "Segundos anuncian", + "SELECTED": "Seleccionado", + "SELECTED_AGENTS": "Agentes seleccionados", + "SELECTED_TEAMS": "Equipos seleccionados", + "SELECT_ALL": "Seleccionar todo", + "SELECT_DATE": "Seleccione la fecha de inicio", + "SELECT_NONE": "Seleccione Ninguno", + "SELECT_TYPE": "Seleccione tipo", + "SET": "Conjunto", + "SETINTERFACEVARIABLES": "Establecer variables de interfaz", + "SETQUEUEENTRYVARIABLES": "Establecer variables de entrada de cola", + "SETQUEUEVARIABLES": "Establecer variables de cola", + "SETTINGS": "Configuraciones", "SMS": "SMS", - "OPENCHANNEL": "Canal abierto", - "FAX": "Fax", - "NO_AGENT_ONLINE": "Ningún agente Online", - "PARTIALPAUSE": "Pausa parcial", - "STATUS": "El estado", - "TIMER": "Timer", - "ALL": "Todos", - "IDLE": "Inactivo", - "EDIT_TRUNK": "Editar tronco", - "ACTIVE": "Activo", - "CLEAR": "Claro", - "CALLS": "Llamadas", + "SORT": "Ordenar", + "SOURCE": "Fuente", "STARTEDAT": "Empezó a las", - "ENDEDAT": "Terminado en", + "STATUS": "Estado", + "STRATEGY": "Estrategia", "TAG": "Etiqueta", - "DETAILS": "Detalles", - "BILLABLESECONDS": "Segundos facturables", - "ANSWEREDAT": "Respondido en", - "NOTE": "Nota", - "CLOSE": "Cerca", - "SELECT_DATE": "Seleccione la fecha de inicio", - "SELECT_TYPE": "Seleccione tipo", - "ABANDONEDCALLS": "Llamadas de cola abandonadas" + "TAGS": "Etiquetas", + "TALKING": "Hablando", + "TEAMADD_VOICEQUEUE": "Agregar cola de equipo a voz", + "TECHNOLOGY/RESOURCE": "Tecnología / Recurso", + "TELEPHONES": "Teléfonos", + "THANKYOUANNOUNCE": "'Gracias' Anuncie", + "THEREAREANNOUNCE": "'Hay' Anuncio", + "TIMEOUT": "Se acabó el tiempo", + "TIMEOUTRESTART": "Tiempo de reinicio", + "TIMER": "Minutero", + "TIMEZONE": "Zona horaria", + "TOTAL": "Total", + "TOTAL_OFFERED": "Total ofrecido", + "TRUNK": "Trunk", + "TRUNKS": "Trunk", + "TRUNK_STATUS": "Estado del trunk", + "TYPE": "Tipo", + "UNAVAILABLE": "Indisponible", + "UNIQUEID": "Identificación única", + "UNKNOWN": "Desconocido", + "UNMANAGED": "No administrado", + "UNPAUSE": "Fin de pausa", + "UNREACHABLE": "Inalcanzable", + "UNREGISTERED": "No registrado", + "UP": "Arriba", + "URL": "URL", + "USER": "Usuario", + "VALUE": "Valor", + "VARIABLE": "Variable", + "VOICE": "Voz", + "VOICEMAIL": "Mensaje de voz", + "VOICEMAILS": "Mensajes de voz", + "VOICEMAIL_CONTEXT": "Contexto", + "VOICEQUEUES": "Colas de voz", + "VOICERECORDINGS": "Grabaciones de voz", + "WAITING": "Esperando", + "WAITINGCALLSANNOUNCE": "Llamadas en espera anuncian", + "WAITING_FOR_AGENT": "Agentes en espera", + "WAITING_FOR_AGENTS": "Esperando agentes", + "WEIGHT": "Peso", + "WRAPUPTIME": "Tiempo de envolvimiento", + "YES": "Sí", + "YOUARENEXTANNOUNCE": "'Eres el próximo' Anunciar" } } \ 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 b39a60a..2d1c28b 100644 --- a/public/app/main/apps/voice/i18n/ja.json +++ b/public/app/main/apps/voice/i18n/ja.json @@ -1,421 +1,421 @@ { "VOICE": { - "GOTO_VOICEQUEUE": "リアルタイムの音声キューに移動", - "GOTOREALTIME_VOICEQUEUE": "リアルタイムの音声キューに移動", - "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 でオーディオファイルを再生できません。", - "APPLICATIONS_LIST": "アプリケーションのリスト", "LEGEND": { - "CUSTOM_APPLICATION": "( * )のカスタムアプリケーションです。" + "CUSTOM_APPLICATION": "(*) - カスタムアプリケーション" }, "ERRORS": { - "NAME_REQUIRED": "名前は必須です", - "APPLICATION_NAME_REQUIRED": "アプリケーションの名前が必要です", - "TIMEOUT_REQUIRED": "タイムアウトは必須です", - "PHONENUMBER_REQUIRED": "電話番号が必要です。", - "CONTEXT_REQUIRED": "コンテキストが必要です", - "DESTINATIONPATTERN_REQUIRED": "宛先パターンが必要な", - "FULLNAME_REQUIRED": "完全な名前が必要です", - "EMAIL_REQUIRED": "E メールは必須です", - "EMAIL_MUST_VALID": "メールは有効な形式で記述する必要があります", - "MAILBOX_REQUIRED": "メールボックスが必要な", - "PASSWORD_REQUIRED": "パスワードが必要です", + "AFTERCALLWORKDURATION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "AFTERCALLWORKDURATION_REQUIRED": "必須フィールド", + "ANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "APPLICATION_NAME_REQUIRED": "必須フィールド", + "APPLICATION_REQUIRED": "必須フィールド", "CONFIRM_NOT_MATCH": "パスワードが一致しません", - "TIMEZONE_REQUIRED": "タイムゾーンが必要です", - "PREFIX_REQUIRED": "接頭辞が必要です", - "OPTIONS_REQUIRED": "オプションは必要な", - "AFTERCALLWORKDURATION_REQUIRED": "コールワーク時間が経過した後では必須です", - "TECHNOLOGY/RESOURCE_REQUIRED": "テクノロジー / リソースが必要です", - "PHONE_REQUIRED": "の電話番号が必要です", - "VALUE_REQUIRED": "の値が必要です", - "EXTENSION_REQUIRED": "拡張子が必要です", - "PRIORITY_REQUIRED": "優先順位は必要です", - "NAME_MUST_VALID_PATTERN": "名前は、有効な形式で記述する必要があります", - "APPLICATION_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": "Max メッセージは以上である必要があります", - "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Max メッセージは以下である必要があります" + "CONTEXT_REQUIRED": "必須フィールド", + "CUTDIGITS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "DESTINATIONPATTERN_REQUIRED": "必須フィールド", + "EMAIL_MUST_VALID": "間違ったフォーマット", + "EMAIL_REQUIRED": "必須フィールド", + "EXTENSION_REQUIRED": "必須フィールド", + "FULLNAME_REQUIRED": "必須フィールド", + "MAILBOX_REQUIRED": "必須フィールド", + "MAXLENGTH_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "MAXMESSAGES_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "MAXMESSAGES_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下にする必要があります", + "MAXSECONDS_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "MEMBERDELAY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "MINANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "NAME_MUST_VALID_PATTERN": "間違ったフォーマット", + "NAME_REQUIRED": "必須フィールド", + "OPTIONS_REQUIRED": "必須フィールド", + "PASSWORD_REQUIRED": "必須フィールド", + "PERIODICANNOUNCEFREQUENCY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "PHONENUMBER_REQUIRED": "必須フィールド", + "PHONE_REQUIRED": "必須フィールド", + "POSITION_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "PREFIX_REQUIRED": "必須フィールド", + "PRIORITY_REQUIRED": "必須フィールド", + "RETRY_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "TECHNOLOGY/RESOURCE_REQUIRED": "必須フィールド", + "TIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "TIMEOUT_REQUIRED": "必須フィールド", + "TIMEZONE_REQUIRED": "必須フィールド", + "VALUE_REQUIRED": "必須フィールド", + "WEIGHT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", + "WRAPUPTIME_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります" }, - "GENERAL": "一般的な", - "TIMEOUT": "タイムアウト", - "MAXLENGTH": "最大の長さ", - "RETRY": "再試行", - "WRAPUPTIME": "まとめ時間", - "WEIGHT": "重量", - "JOINWHENEMPTY": "空になったときに参加", - "LEAVEWHENEMPTY": "空になったときのままにしておき", "HELP": { - "TIMEOUT": "メンバーのデバイスをリングの秒数を指定します。", - "MAXLENGTH": "キューでの待機を許可された発信者の最大数を指定します。 値が 0 の場合、キュー内の発信者は、無制限の数が許可されています。", - "RETRY": "キューのメンバーをリングしようとしているときに、タイムアウト値に到達した場合には、キュー内の次のメンバを試行する前に待機する秒数を指定します。", - "WRAPUPTIME": "には、コールの完了後にキュー内のメンバが使用不能のままにしておく秒数を指定します。", - "WEIGHT": "キューの重みを定義します。 定義されている高いウェイトを使用してキューのメンバーは複数のキューに関連付けられている場合は、最初の優先度を取得します。", - "JOINWHENEMPTY": "コントロールのメンバーが利用可能なときに発信者がキューに追加されているかどうか。", - "LEAVEWHENEMPTY": "発信者はメンバーがコールを受信できない場合は、キューからの退出をするかどうかを制御するために使用されています。", - "ANNOUNCEFREQUENCY": "私たちは、発信者の位置および / または公表のキューに保留時間の予想する頻度を定義します。 このゼロを無効にするには、値を設定します。", - "MINANNOUNCEFREQUENCY": "は、キュー内の発信者の位置を再度を発表する前に通過する必要がある時間の最小量を指定します。 これは、発信者の位置を頻繁に変更する場合は、使用されている発信者には時間の短い期間に複数のアップデートを聞くのを防止します。", - "PERIODICANNOUNCEFREQUENCY": "定期的なアナウンスは、発信者を確認する必要がある頻度を示します。", - "ANNOUNCEPOSITIONLIMIT": "定義した場合は、いずれかの制限値以上の位置を発表するために使用されます。", - "AFTERCALLWORKDURATION": "コールワークオプションを選択した後、によってトリガされた一時停止の期間を", - "MEMBERDELAY": "では、発信者とキューメンバーをそれぞれの他のに接続されているの前に遅延が発生する可能性がある場合に使用されます。", - "MUSICONHOLD": "特定のキューで使用する音楽のクラスを設定します。", - "ANNOUNCETOAGENT": "は、コールに応答したエージェントにアナウンスの再生に使用され、通常は発信者のキューとは彼のことを知っているようにかられてきています。", - "RANDOMPERIODICANNOUNCE": "[ はい ] に設定されている場合は、ランダムな順序で定義されている定期的なアナウンスを再生します。", - "ANNOUNCEHOLDTIME": "は、保留時間の予想には、定期的なアナウンスと共にを再生するかどうかを定義します。", - "ANNOUNCECALLERPOSITION": "は、キュー内の発信者の位置を彼女が発表されるかどうかを定義します。 をいいえに設定した場合、位置は決して発表しました。 Yes の場合は、発信者の位置を常に発表しましたに設定されている場合。 この値は制限を設定している場合、発信者には発表の位置の制限の定義された制限の範囲内である場合のみ、キューの彼女の位置を聞く。 この値はに設定されている場合は、アナウンスの位置に定義された制限数を超えた場合、発信者には彼女の位置を聞く。", - "REPORTHOLDTIMEAGENT": "ブリッジの前にキューのメンバーには、発信者の保留時間のレポートをイネーブルにします。", - "PERIODICANNOUNCE": "を再生する定期的なアナウンスを設定するには、定義されている順序で再生されます。", - "HOLDTIMEANNOUNCE": "定義されていない場合、は、デフォルトの値を再生 ( 「保留時間」)しています。 空の値を指定する場合は、プロンプトが表示され、まったく再生されません。", - "YOUARENEXTANNOUNCE": "定義されていない場合、は、デフォルトの値を再生(「ライン」を開始していることが最初)。 空の値を指定する場合は、プロンプトが表示され、まったく再生されません。", - "THEREAREANNOUNCE": "定義されていない場合、は、デフォルトの値を再生(「がある」)しています。 空の値を指定する場合は、プロンプトが表示され、まったく再生されません。", - "WAITINGCALLSANNOUNCE": "定義されていない場合、は、デフォルトの値 ( 「待機」「コール)を再生します。 空の値を指定する場合は、プロンプトが表示され、まったく再生されません。", - "ESTIMATEDHOLDTIMEANNOUNCE": "定義されていない場合、は、デフォルトの値を再生(「現在の保留時間の予想は」)しています。 空の値を指定する場合は、プロンプトが表示され、まったく再生されません。", - "MINUTESANNOUNCE": "定義されていない場合、は、デフォルトの値を再生(「分」)しています。 空の値を指定する場合は、プロンプトが表示され、まったく再生されません。", - "MINUTEANNOUNCE": "定義されていない場合、は、デフォルトの値を再生(「分」)しています。 空の値を指定する場合は、プロンプトが表示され、まったく再生されません。", - "SECONDSANNOUNCE": "定義されていない場合、は、デフォルトの値を再生する」(「秒)します。 空の値を指定する場合は、プロンプトが表示され、まったく再生されません。", - "THANKYOUANNOUNCE": "定義されていない場合、は、デフォルトの値を再生(「あなたの忍耐をいただきありがとうございました。」 ) 。 空の値を指定する場合は、プロンプトが表示され、まったく再生されません。", - "AFTERCALLWORK": "アクティブの場合には、エージェント、キューに、完了したコールの後に一時停止を設定する", - "AUTOPAUSE": "/ をイネーブルにコールに応答するには、失敗したことのあるメンバーのを一時停止すると、自動的に無効になります。 アクティブさせられるこれを彼がメンバーのすべてのキューの一時停止がメンバーである場合。", - "RINGINUSE": "ステータスが使用されているメンバにコールを送信しないようにするために使用されます。", - "TIMEOUTRESTART": "Yes に設定されている場合、エージェントのタイムアウト、ビジーまたは輻輳状態のどちらかですが、チャネルから受信した場合に回答がリセットされます。", - "MONITORFORMAT": "録音するときに使用するファイル形式を指定します。 モニタの形式が非アクティブの場合は、コールが録音されていません。", - "CONTEXT": "1 つの DTMF ディジットを押してキューを終了するには、発信者がすることができます。 コンテキストが指定されている場合は、発信者が番号を入力し、その番号は、コンテキストで指定された照合するしようとし、実行してダイヤルプランが継続します。", - "SETINTERFACEVARIABLES": "はいに設定した場合には、発信者にはキューのメンバーを使用してブリッジされていたいくつかの変数が設定され( wiki を参照してください ) の前に", - "SETQUEUEVARIABLES": "[ はい ] に設定されている場合は、キューのメンバーを使用してブリッジされている発信者を前に、発信者をキューするいくつかの変数が設定され( wiki を参照してください ) を離れる前に、", - "SETQUEUEENTRYVARIABLES": "はいに設定した場合には、発信者にはキューのメンバーを使用してブリッジされていたいくつかの変数が設定され( wiki を参照してください ) の前に", - "RECORDING": "コールの録音を有効にする", - "VOICEMAIL_CONTEXT": "相対的な拡張子のコンテキストを指定します。", - "NAME": "数字、文字、およびのみ特定の文字 ( 。 ) はサポートされています" + "AFTERCALLWORK": "有効にすると、エージェントは通話終了後に一時停止に設定されます", + "AFTERCALLWORKDURATION": "コール後作業オプションでトリガされるポーズ長", + "ANNOUNCECALLERPOSITION": "キュー内の発信者の位置をアナウンスするかどうかを定義するために使用されます。はい=常に; Limit = announce-position-limitで定義された限度内にある場合のみ; More =それがannounce-position-limitによって定義された値を超えている場合のみ", + "ANNOUNCEFREQUENCY": "キュー内の発信者の位置および/または推定保留時間を通知する頻度(ゼロから無効)", + "ANNOUNCEHOLDTIME": "定期的なアナウンス(Yes / No / Once)と共に予測される保留時間を再生します。", + "ANNOUNCEPOSITIONLIMIT": "announce-positionが 'limit'または 'more'のいずれかと定義されている場合に使用されます。", + "ANNOUNCETOAGENT": "コールに応答するアナウンスをエージェントに再生する(通常、発信者がどのキューから来ているかを知らせる)", + "AUTOPAUSE": "通話に応答しないエージェントの自動ポーズを有効/無効にします。有効にすると、エージェントは自分が所属するすべてのキューで一時停止されます", + "CONTEXT": "単一のDTMF数字を押して発信者がキューを終了できるようにします。コンテキストが指定され、発信者が番号を入力した場合、その数字は指定されたコンテキストで一致するように試みられ、ダイヤルプランの実行はそこで継続されます", + "ESTIMATEDHOLDTIMEANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"現在の推定保留時間は\"です。未定義=アナウンスなし", + "HOLDTIMEANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"ホールド時間\"。未定義=アナウンスなし", + "JOINWHENEMPTY": "使用可能なメンバーがない場合に呼び出し元をキューに渡すかどうかを制御するために使用されます", + "LEAVEWHENEMPTY": "通話に参加できるメンバーがいないときに発信者をキューから出すかどうかを制御するために使用されます", + "MAXLENGTH": "キュー内で待機できる呼び出し元の最大数:ゼロは無制限を意味します。", + "MEMBERDELAY": "呼び出し元の前に遅延を挿入し、キュー内のエージェントを接続します。", + "MINANNOUNCEFREQUENCY": "最小アナウンス頻度(発信者のポジションが頻繁に変化する場合に便利)", + "MINUTEANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"分\"。未定義=アナウンスなし", + "MINUTESANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"分\"。未定義=アナウンスなし", + "MONITORFORMAT": "録音時に使用するファイル形式を指定します。 monitor-formatが非アクティブの場合、コールは記録されません", + "MUSICONHOLD": "特定のキューに使用する音楽クラスを設定します。", + "NAME": "数字、文字、および特定の文字(._)のみがサポートされています", + "PERIODICANNOUNCE": "再生する定期告知のセット(順番に)", + "PERIODICANNOUNCEFREQUENCY": "発信者への定期的なアナウンスの頻度", + "RANDOMPERIODICANNOUNCE": "「はい」の場合、定義された定期告知はランダムに再生されます", + "RECORDING": "通話録音を有効にする", + "REPORTHOLDTIMEAGENT": "接続前にキュー内のエージェントに発信者の保留時間を報告できるようにする", + "RETRY": "タイムアウトが満了したときにキュー内の次のエージェントを呼び出す前に待機する秒数", + "RINGINUSE": "ステータスが「使用中」のメンバーへの通話を避ける/許可する", + "SECONDSANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"秒\"。未定義=アナウンスなし", + "SETINTERFACEVARIABLES": "yesに設定すると、呼び出し元がキューエージェントに接続される直前にいくつかの変数が設定されます(詳細はwikiドキュメントを参照)", + "SETQUEUEENTRYVARIABLES": "yesに設定すると、呼び出し元がキューエージェントに接続される直前にいくつかの変数が設定されます(詳細はwikiドキュメントを参照)", + "SETQUEUEVARIABLES": "yesに設定すると、呼び出し元がキューエージェントに接続してキューから出る直前に、いくつかの変数が設定されます(詳細はwikiドキュメントを参照)", + "THANKYOUANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"あなたのご忍耐ありがとうございます\"。未定義=アナウンスなし", + "THEREAREANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"あります\"。未定義=アナウンスなし", + "TIMEOUT": "デバイスを呼び出すまでの時間(秒)", + "TIMEOUTRESTART": "はいの場合、これは、BUSYまたはCONGESTIONステータスがチャネルから受信されたときにエージェントが応答するタイムアウトをリセットします", + "VOICEMAIL_CONTEXT": "相対的な拡張の文脈", + "WAITINGCALLSANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"呼び出し待ち\"。未定義=アナウンスなし", + "WEIGHT": "メンバーが複数のキューに関連付けられている場合の優先度を定義するためのキューの重み", + "WRAPUPTIME": "通話終了後にキューメンバーを利用できないようにする時間(秒)", + "YOUARENEXTANNOUNCE": "ツールで定義されたサウンドを選択します。デフォルト= \"あなたは今すぐラインに入っています\"。未定義=アナウンスなし" }, - "MUSICONHOLD": "保留中の音楽", - "ANNOUNCETOAGENT": "エージェントを発表", - "ANNOUNCEMENTS": "アナウンスメント", - "ADVANCED": "高度な", - "ANNOUNCEFREQUENCY": "周波数を発表", - "MINANNOUNCEFREQUENCY": "最小周波数を発表", - "PERIODICANNOUNCEFREQUENCY": "定期的な頻度を発表", - "RANDOMPERIODICANNOUNCE": "ランダムな定期的な発表", - "ANNOUNCEHOLDTIME": "保留時間を発表", - "ANNOUNCECALLERPOSITION": "発信者の位置を発表する", - "ANNOUNCEPOSITIONLIMIT": "の位置が制限値を発表", - "REPORTHOLDTIMEAGENT": "レポートは、エージェント保留時間", - "PERIODICANNOUNCE": "定期的な発表", - "HOLDTIMEANNOUNCE": "保留時間を発表", - "YOUARENEXTANNOUNCE": "」している「次へ」を発表", - "THEREAREANNOUNCE": "」は発表があり", - "WAITINGCALLSANNOUNCE": "コールウェイティングを発表", - "ESTIMATEDHOLDTIMEANNOUNCE": "保留時間の予想を発表する", - "MINUTESANNOUNCE": "分を発表", - "MINUTEANNOUNCE": "分を発表", - "SECONDSANNOUNCE": "秒数を発表", - "THANKYOUANNOUNCE": "「ありがとうございましたことを発表", + "ABANDONED": "放棄された", + "ABANDONEDCALLS": "放棄されたキューコール", + "ABANDONED_CALLS": "放棄されたコール", + "ACCOUNTNAME": "アカウント名", + "ACTIONS": "行動", + "ACTIVE": "アクティブ", + "ADD_AGENT_TO_QUEUE": "エージェントをキューに追加する", + "ADD_AGENT_TO_VOICEQUEUE": "音声キューにエージェントを追加する", + "ADD_CHANSPY": "ChanSpyを追加", + "ADD_CONTEXT": "コンテキストを追加", + "ADD_INBOUNDROUTE": "着信ルートを追加する", + "ADD_INTERNALROUTE": "内部ルートを追加", + "ADD_MOHSOUND": "保留音を追加する", + "ADD_MUSICONHOLD": "音楽を保留にする", + "ADD_OUTBOUNDROUTE": "アウトバウンドルートを追加する", + "ADD_TEAM_TO_VOICEQUEUE": "ボイスキューにチームを追加する", + "ADD_VOICEMAIL": "ボイスメールを追加する", + "ADD_VOICEQUEUE": "音声キューを追加する", + "ADVANCED": "上級", + "AFTERCALLWORK": "通話後の作業", + "AFTERCALLWORKDURATION": "通話後の作業時間", + "AGENT": "エージェント", + "AGENTADD_QUEUE": "ボイスキューへのエージェントの追加", + "AGENTADD_VOICEQUEUE": "ボイスキューへのエージェントの追加", + "AGENTS": "エージェント", + "AGENTSADD_QUEUE": "ボイスキューにエージェントを追加する", + "AGI": "アギ", + "ALL": "すべて", + "ALL_AGENTS": "すべてのエージェント", + "ALL_TEAMS": "すべてのチーム", + "ALPHABETICAL": "アルファベット順", + "ANNOUNCECALLERPOSITION": "発信者の位置をアナウンスする", + "ANNOUNCEFREQUENCY": "周波数をアナウンスする", + "ANNOUNCEHOLDTIME": "保留時間をアナウンスする", + "ANNOUNCEMENTS": "お知らせ", + "ANNOUNCEPOSITIONLIMIT": "ポジションリミットを発表", + "ANNOUNCETOAGENT": "エージェントにアナウンスする", + "ANNOUNCE_OVERRIDES": "上書きをアナウンスする", + "ANSWER": "回答", + "ANSWERED": "回答", + "ANSWEREDAT": "アンサー", + "APPLICATION": "応用", + "APPLICATIONS_LIST": "アプリケーション一覧", + "APPLICATION_NAME": "アプリケーション名", + "ARGUMENTS": "引数", + "ATTACH": "アタッチ", + "AUDIO": "オーディオ", + "AUDIOFILES": "オーディオファイル", + "AUDIO_FILES": "オーディオファイル", + "AUTH": "認証", "AUTOPAUSE": "自動一時停止", - "AFTERCALLWORK": "コール後の作業", - "AFTERCALLWORKDURATION": "コールワーク時間が経過した後", - "RINGINUSE": "を使用してのリング", - "MEMBERDELAY": "メンバー遅延", - "TIMEOUTRESTART": "タイムアウトを再起動", - "MONITORFORMAT": "記録フォーマット", - "SETINTERFACEVARIABLES": "インターフェイスの変数を設定できます。", - "SETQUEUEVARIABLES": "キューの変数を設定できます。", - "SETQUEUEENTRYVARIABLES": "キューのエントリの変数を設定し", - "VARIABLE": "変数", + "AVG_BILLABLE": "請求可能な平均", + "AVG_DURATION": "Av期間", + "AVG_HOLD_TIME": "平均保持時間", + "BACK": "バック", + "BILLABLESECONDS": "請求可能な秒数", + "BUSY": "忙しい", + "CALLED": "呼び出された", + "CALLER": "発信者", + "CALLER_ID": "発信者ID", + "CALLS": "コール", + "CALLYSQUARE": "カリースクエア", + "CANT_PLAY_GSM_AUDIO_FILES": "gsmまたはwav49オーディオファイルを再生できません", + "CHANSPIES": "ChanSpy", + "CHANSPY": "ChanSpy", + "CHAT": "チャット", + "CLEAR": "クリア", + "CLOSE": "閉じる", + "CLOSING": "閉鎖", + "CONFIRM_PASSWORD": "パスワードを認証する", + "CONNECTED": "接続済み", "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": "コンテキストの追加", + "CREATED_AT": "作成者:", + "CUSTOM": "カスタム", + "CUTDIGITS": "桁を切り取る", + "DATE": "日付", + "DEFAULT_PAUSE": "デフォルトのポーズ", + "DELETE": "削除", + "DELETE_APP": "アプリケーションの削除", + "DELETE_CHANSPY": "ChanSpyの削除", + "DELETE_CONTEXT": "コンテキストの削除", + "DELETE_INBOUNDROUTE": "受信ルートの削除", + "DELETE_INTERNALROUTE": "内部ルートの削除", + "DELETE_MESSAGE": "削除", + "DELETE_MOHSOUND": "保留中の音楽を削除する", + "DELETE_MUSICONHOLD": "保留中の音楽を削除する", + "DELETE_OUTBOUNDROUTE": "送信ルートの削除", + "DELETE_VOICEDISPOSITION": "音声処理の削除", + "DELETE_VOICEMAIL": "ボイスメールの削除", + "DELETE_VOICEQUEUE": "音声キューを削除する", + "DELETE_VOICERECORDING": "ボイスレコーディングの削除", + "DESCRIPTION": "説明", + "DESTINATION": "先", + "DESTINATIONPATTERN": "宛先パターン", + "DETAILS": "詳細", + "DIAL": "ダイヤル", + "DID": "した", + "DIRECTORY": "ディレクトリ", + "DISPOSITION": "配置", + "DOWNLOAD_MESSAGE": "ダウンロード", + "DOWNLOAD_MOHSOUND": "Music On Holdのサウンドをダウンロードする", + "DOWNLOAD_VOICERECORDING": "ボイスレコーディングのダウンロード", + "DURATION": "期間", + "EDIT_AGI": "AGIを編集する", + "EDIT_APP": "アプリケーションの編集", + "EDIT_CHANSPY": "ChanSpyを編集する", "EDIT_CONTEXT": "コンテキストの編集", - "DELETE_CONTEXT": "コンテキストを削除する", - "VOICEMAILS": "ボイスメール", - "ADD_VOICEMAIL": "ボイスメールの追加", + "EDIT_CUSTOM": "カスタムを編集する", + "EDIT_DIAL": "ダイヤルの編集", + "EDIT_EXTERNALDIAL": "外部ダイヤルの編集", + "EDIT_GOTO": "GoToを編集", + "EDIT_HANGUP": "ハングアップを編集", + "EDIT_INBOUNDROUTE": "着信ルートを編集する", + "EDIT_INTERNALDIAL": "内部ダイヤルの編集", + "EDIT_INTERNALROUTE": "内部ルートの編集", + "EDIT_INTERVAL": "編集間隔", + "EDIT_MUSICONHOLD": "保留中の音楽を編集する", + "EDIT_OUTBOUNDDIAL": "アウトバウンドダイヤルの編集", + "EDIT_OUTBOUNDROUTE": "アウトバウンドルートを編集する", + "EDIT_PLAYBACK": "再生の編集", + "EDIT_QUEUE": "キューを編集", + "EDIT_RINGGROUP": "リンググループの編集", + "EDIT_SET": "セットを編集", + "EDIT_TRUNK": "トランクを編集", + "EDIT_VOICEDISPOSITION": "音声処理の編集", "EDIT_VOICEMAIL": "ボイスメールの編集", - "DELETE_VOICEMAIL": "ボイスメールを削除する", - "FULLNAME": "完全な名前", - "EMAIL": "電子メール", + "EDIT_VOICEQUEUE": "ボイスキューの編集", + "EDIT_VOICERECORDING": "ボイスレコーディングの編集", + "EMAIL": "Eメール", + "EMAILBODY": "メール本文", + "EMAILSUBJECT": "メールの件名", + "ENDEDAT": "終了日", + "ENVELOPE": "エンベロープ", + "ESTIMATEDHOLDTIMEANNOUNCE": "推定保持時間の発表", + "EXTENSION": "拡張", + "EXTERNALDIAL": "外部ダイヤル", + "FAILED": "失敗", + "FAX": "ファックス", + "FILE": "ファイル", + "FILES": "ファイル", + "FORMAT": "フォーマット", + "FULLNAME": "フルネーム", + "GENERAL": "一般", + "GOSUB": "GoSub", + "GOTO": "GoTo", + "GOTOREALTIME_VOICEQUEUE": "リアルタイム音声キューに移動", + "GOTO_VOICEQUEUE": "リアルタイム音声キューに移動", + "HANGUP": "電話を切る", + "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 =一時的な障害", + "HANGUP_CAUSE": "ハングアップ原因", + "HOLDTIMEANNOUNCE": "ホールドタイムアナウンス", + "ID": "イド", + "IDLE": "アイドル", + "INBOUNDROUTES": "着信ルート", + "INFO": "情報", + "INTERNAL": "内部", + "INTERNALDIAL": "内部ダイヤル", + "INTERNALROUTES": "内部ルート", + "INTERVALS": "インターバル", + "INUSE": "使用中で", + "INVALID": "無効", + "JOINWHENEMPTY": "空のときに参加する", + "LAGGED": "遅れている", + "LEAVEWHENEMPTY": "空のままにする", + "LOGGED_IN": "ログイン(SIP接続)", + "LOGOUT": "ログアウト", + "MACRO": "マクロ", + "MAIL": "Eメール", "MAILBOX": "メールボックス", - "PASSWORD": "パスワード", - "CONFIRM_PASSWORD": "パスワードを確認します", - "TIMEZONE": "タイムゾーン", - "ATTACH": "接続", - "ENVELOPE": "封筒", - "DELETE": "削除", - "EMAILBODY": "電子メールの本文", - "EMAILSUBJECT": "電子メールの件名", - "MAXSECONDS": "最大秒数", + "MAILBOX@CONTEXT": "メールボックス@コンテキスト", + "MAXLENGTH": "最大長", "MAXMESSAGES": "最大メッセージ数", + "MAXSECONDS": "最大秒数", + "MEMBERDELAY": "メンバー遅延", "MESSAGES": "メッセージ", - "SORT": "並べ替え", - "ADD_MUSICONHOLD": "Music On Hold を追加", - "MUSICONHOLDS": "保留中の音楽", - "EDIT_MUSICONHOLD": "編集保留中の音楽", - "DELETE_MUSICONHOLD": "音楽の削除", - "DIRECTORY": "ディレクトリ", - "AUDIOFILES": "オーディオファイル", - "RECORDINGS": "録音", - "CHANSPY": "ChanSpy", - "PREFIX": "接頭辞", - "OPTIONS": "オプション", - "AUTH": "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": "後藤", - "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": "メールボックス @ コンテキスト", - "EXTENSION": "拡張子", - "PRIORITY": "優先順位", - "HANGUP_CAUSE": "ハングアップさせられる", - "OUTBOUNDDIAL": "アウトバウンドダイヤル", - "CALLER_ID": "発信者 ID", - "NO_MESSAGE_AVAILABLE": "利用可能なメッセージはありません", - "NO_SOUND_AVAILABLE": "音を使用できません", - "VOICERECORDINGS": "音声録音", - "CHANSPIES": "チャンの B ・スピース", - "VOICE": "音声", - "REALTIME": "リアルタイム", - "ID": "Id", - "VOICEMAIL_CONTEXT": "コンテキスト", - "NO_MOHSOUND_AVAILABLE": "使用できません保留中の音楽", - "FILE": "ファイル", - "ADD_MOHSOUND": "音楽のサウンドを押したまま追加する", - "DOWNLOAD_MOHSOUND": "音楽のダウンロードにサウンドを保持", - "DELETE_MOHSOUND": "音楽のサウンドを削除したままに", - "UNIQUEID": "一意の ID", - "AGENT": "エージェント", - "TYPE": "タイプ", - "RATING": "定格", - "AUDIO": "オーディオ", - "DATE": "日付", - "NEW_VOICEQUEUE": "新しいボイスキュー", + "MINANNOUNCEFREQUENCY": "最小のアナウンス頻度", + "MINUTEANNOUNCE": "お知らせ", + "MINUTESANNOUNCE": "議事録発表", + "MODE": "モード", + "MOHSOUNDS": "モウ・サウンズ", + "MONITORFORMAT": "録音フォーマット", + "MUSICONHOLD": "ミュージック・オン・ホールド", + "MUSICONHOLDS": "ミュージック・オン・ホールド", + "NAME": "名", + "NEW_CHANSPY": "新しいChanSpy", + "NEW_CONTEXT": "新しいコンテキスト", "NEW_INBOUNDROUTE": "新しいインバウンドルート", - "NEW_OUTBOUNDROUTE": "新しいアウトバウンドルート", "NEW_INTERNALROUTE": "新しい内部ルート", - "NEW_CONTEXT": "新しいコンテキスト", - "NEW_VOICEMAIL": "新規ボイスメール", - "NEW_MUSICONHOLD": "新しい Music On Hold", - "NEW_CHANSPY": "新しい ChanSpy", + "NEW_MOHSOUND": "新しいMusic On Holdサウンド", + "NEW_MUSICONHOLD": "新しい音楽を保留", + "NEW_OUTBOUNDROUTE": "新しい発信ルート", + "NEW_VOICEMAIL": "新しいボイスメール", + "NEW_VOICEQUEUE": "新しいボイスキュー", + "NO": "いいえ", + "NOTE": "注意", + "NOT_INUSE": "使用されていません", + "NO_AGENT_ONLINE": "オンライン代理店はありません", + "NO_APPS_AVAILABLE": "利用可能なアプリケーションがありません", + "NO_AVAILABLE_INFO": "利用可能な情報がありません", + "NO_MESSAGE_AVAILABLE": "メッセージがありません", + "NO_MOHSOUND_AVAILABLE": "保留中の音楽はありません", + "NO_RATING": "評価なし", + "NO_REGISTRY": "レジストリなし", + "NO_SOUND_AVAILABLE": "利用可能な音がありません", + "OF": "の", + "ONHOLD": "保留", + "OPENCHANNEL": "オープンチャンネル", + "OPTIONS": "オプション", + "OUTBOUNDDIAL": "アウトバウンドダイヤル", + "OUTBOUNDROUTES": "アウトバウンドルート", + "OUTBOUND_CALLS": "発信コール", + "PAGE": "ページ", + "PARTIALPAUSE": "部分的な一時停止", + "PASSWORD": "パスワード", + "PAUSE": "一時停止", + "PAUSED": "一時停止中", "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 = Normail コールのクリア", - "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": "内部", + "PERIODICANNOUNCE": "定期告知", + "PERIODICANNOUNCEFREQUENCY": "定期的に公表する頻度", + "PHONE": "電話", + "PHONENUMBER": "電話番号", "PHONE_STATE": "電話の状態", - "PHONE_STATUS": "電話のステータス", - "TRUNK_STATUS": "トランクステータス", - "REGISTERED": "登録されて", - "UNREGISTERED": "登録されてい", - "LAGGED": "遅れていた", + "PHONE_STATUS": "電話ステータス", + "PLAYBACK": "再生", + "POSITION": "ポジション", + "PREFIX": "接頭辞", + "PRIORITY": "優先", + "PROJECT": "カリースクエアプロジェクト", + "QUEUE": "キュー", + "QUEUES": "キュー", + "QUEUE_CALLS": "キューコール", + "QUEUE_PARAMETERS": "キューパラメータ", + "QUEUE_PARAMS": "キューパラメータ", + "RANDOM": "ランダム", + "RANDOMPERIODICANNOUNCE": "ランダム定期告知", + "RATING": "評価", "REACHABLE": "到達可能", - "UNREACHABLE": "到達不能", - "UNKNOWN": "不明な", - "NOT_INUSE": "使用されていません", - "INUSE": "を使用して、", - "BUSY": "ビジー", - "INVALID": "無効な", - "UNAVAILABLE": "使用できません", - "RINGING": "呼び出し中", - "ONHOLD": "保留", - "RING": "リング", - "UP": "さ", - "INFO": "情報", - "TRUNKS": "トランク", + "READY": "準備完了", + "REALTIME": "リアルタイム", + "RECEIVED_AT": "受け取った", + "RECORD": "記録", + "RECORDING": "録音", + "RECORDINGFORMAT": "記録形式", + "RECORDINGS": "録音", + "REDIRECT_TO_AGENT": "エージェントにリダイレクトする", + "REDIRECT_TO_NUMBER": "番号にリダイレクトする", + "REGISTERED": "登録済み", "REGISTRY": "レジストリ", - "NO_REGISTRY": "レジストリはありません", - "LOGGED_IN": "ログインして", - "PAUSED": "一時停止", - "WAITING": "待機中", - "TALKING": "話を", - "DID": "でした", - "CALLER": "発信者", - "TOTAL": "合計", - "ANSWERED": "応答", - "ABANDONED": "放棄された", - "UNMANAGED": "管理対象外", - "AVG_HOLD_TIME": "平均保留時間", - "AVG_DURATION": "Av 期間", - "AVG_BILLABLE": "Avg 有償", - "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": "チームに追加する 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": "ページ", + "REPORTHOLDTIMEAGENT": "レポートエージェントの保留時間", + "RETRY": "リトライ", + "RING": "リング", + "RINGGROUP": "リンググループ", + "RINGING": "リンギング", + "RINGINUSE": "使用中のリング", "ROWSPERPAGE": "ページあたりの行数", - "OF": "の", - "DISPOSITION": "廃棄", - "WAITING_FOR_AGENTS": "エージェントを待機しています", - "CHAT": "チャット", - "MAIL": "メール", + "RULE": "ルール", + "SAVE": "セーブ", + "SEARCH_FOR_ANYONE": "サーチ", + "SECONDSANNOUNCE": "秒の発表", + "SELECTED": "選択された", + "SELECTED_AGENTS": "選択されたエージェント", + "SELECTED_TEAMS": "選ばれたチーム", + "SELECT_ALL": "すべて選択", + "SELECT_DATE": "開始日を選択", + "SELECT_NONE": "選択なし", + "SELECT_TYPE": "タイプの選択", + "SET": "セット", + "SETINTERFACEVARIABLES": "インタフェース変数の設定", + "SETQUEUEENTRYVARIABLES": "キューエントリ変数を設定する", + "SETQUEUEVARIABLES": "キュー変数の設定", + "SETTINGS": "設定", "SMS": "SMS", - "OPENCHANNEL": "オープンチャネル", - "FAX": "ファクス", - "NO_AGENT_ONLINE": "エージェントのオンラインがありません", - "PARTIALPAUSE": "部分的に一時停止", - "STATUS": "ステータス", - "TIMER": "タイマー", - "ALL": "すべての", - "IDLE": "アイドル", - "EDIT_TRUNK": "編集トランク", - "ACTIVE": "アクティブ", - "CLEAR": "クリア", - "CALLS": "コール", + "SORT": "ソート", + "SOURCE": "ソース", "STARTEDAT": "開始日", - "ENDEDAT": "終了日", + "STATUS": "状態", + "STRATEGY": "戦略", "TAG": "タグ", - "DETAILS": "詳細", - "BILLABLESECONDS": "請求可能な秒数", - "ANSWEREDAT": "アンサー", - "NOTE": "注意", - "CLOSE": "閉じる", - "SELECT_DATE": "開始日を選択", - "SELECT_TYPE": "タイプの選択", - "ABANDONEDCALLS": "放棄されたキューコール" + "TAGS": "タグ", + "TALKING": "話す", + "TEAMADD_VOICEQUEUE": "ボイスキューにチームを追加する", + "TECHNOLOGY/RESOURCE": "技術/リソース", + "TELEPHONES": "電話", + "THANKYOUANNOUNCE": "「ありがとうございました」発表", + "THEREAREANNOUNCE": "'ありがとうございました'", + "TIMEOUT": "タイムアウト", + "TIMEOUTRESTART": "タイムアウト再起動", + "TIMER": "タイマー", + "TIMEZONE": "タイムゾーン", + "TOTAL": "合計", + "TOTAL_OFFERED": "合計提供額", + "TRUNK": "トランク", + "TRUNKS": "トランクス", + "TRUNK_STATUS": "トランクの状態", + "TYPE": "タイプ", + "UNAVAILABLE": "利用できません", + "UNIQUEID": "一意のID", + "UNKNOWN": "未知の", + "UNMANAGED": "管理されていない", + "UNPAUSE": "終了ポーズ", + "UNREACHABLE": "到達不能", + "UNREGISTERED": "未登録", + "UP": "アップ", + "URL": "URL", + "USER": "ユーザー", + "VALUE": "値", + "VARIABLE": "変数", + "VOICE": "音声", + "VOICEMAIL": "ボイスメール", + "VOICEMAILS": "ボイスメール", + "VOICEMAIL_CONTEXT": "コンテキスト", + "VOICEQUEUES": "音声キュー", + "VOICERECORDINGS": "ボイスレコーディング", + "WAITING": "待っている", + "WAITINGCALLSANNOUNCE": "待っている電話がアナウンスする", + "WAITING_FOR_AGENT": "エージェントを待っている", + "WAITING_FOR_AGENTS": "エージェントを待っている", + "WEIGHT": "重み", + "WRAPUPTIME": "ラップアップ時間", + "YES": "はい", + "YOUARENEXTANNOUNCE": "している「次へ」を発表" } } \ No newline at end of file diff --git a/public/app/quick-panel/i18n/es.json b/public/app/quick-panel/i18n/es.json index 22e7042..905d92d 100644 --- a/public/app/quick-panel/i18n/es.json +++ b/public/app/quick-panel/i18n/es.json @@ -1,73 +1,73 @@ { "QUICKPANEL": { - "TODAY": "Hoy", - "MONDAY": "Lunes", - "TUESDAY": "Martes", - "WEDNESDAY": "Miércoles", - "THURSDAY": "Jueves", - "FRIDAY": "Viernes", - "SATURDAY": "Sábado", - "SUNDAY": "Domingo", - "JANUARY": "Enero", - "FEBRUARY": "Febrero", - "MARCH": "Marzo", - "APRIL": "Abril", - "MAY": "Mayo", - "JUNE": "Junio", - "JULY": "Julio", - "AUGUST": "Agosto", - "SEPTEMBER": "Septiembre", - "OCTOBER": "Octubre", - "NOVEMBER": "Noviembre", - "DECEMBER": "Diciembre", - "CHAT": "CHAT", - "ACTIVITY": "Actividad", - "FRIENDS": "Amigos", - "APP_SERVERS": "Servidores de aplicaciones", - "USER_STATS": "Estadísticas de usuario", - "EVENTS": "Eventos", - "NOTES": "Notas", - "QUICK_SETTINGS": "Configuración rápida", - "NOTIFICATIONS": "Notificaciones", - "CLOUD_SYNC": "Cloud Sync", - "RETRO_THRUSTERS": "Propulsores Retro", - "RECENT": "Los últimos", - "START_NEW_CHAT": "Iniciar nuevo chat", - "BACK": "Volver", - "CALL": "Llame", - "MORE": "Más", - "SEND_MESSAGE": "Enviar mensaje", - "REPLY_PLACEHOLDER": "Escriba y pulse Intro para enviar mensaje", - "CONTACT_XCALLY_MOTION_SUPPORT": "Póngase en contacto con soporte de movimiento xCALLY", - "EXPIRATION_DATE": "Fecha de caducidad", - "EXPIRATION_REASON": "Motivo de caducidad", - "LICENSE": "Licencia", - "NEW_TOKEN": "Nuevo Token", - "OLD_TOKEN": "Token viejo", - "SEND_EMAIL_TO": "Enviar correo electrónico a", - "TOKEN": "Token", - "EXPIRATION_REASON_MESSAGE": "Su licencia ha caducado o su identificador único de la máquina se ha actualizado debido a un cambio en el sistema. Póngase en contacto con el equipo de soporte de movimiento xCALLY enviar tanto el antiguo y el nuevo UUID.", - "GRAY_PERIOD_EXPIRATION": "Vencimiento del período gris", "ERRORS": { "NAME_REQUIRED": "Campo obligatorio" }, + "ACTIVITY": "ACTIVIDAD", + "APP_SERVERS": "Servidores de aplicaciones", + "APRIL": "abril", + "AUGUST": "agosto", + "BACK": "Espalda", + "CALL": "Llamada", + "CHAT": "CHARLA", + "CLOUD_SYNC": "Cloud Sync", + "CONTACT_XCALLY_MOTION_SUPPORT": "Póngase en contacto con el soporte de xCALLY Motion", + "DECEMBER": "diciembre", + "DELETE": "Borrar", + "ENABLE_WRITING": "Habilitar escritura", + "EVENTS": "Eventos", + "EXPIRATION_DATE": "Fecha de caducidad", "EXPIRATION_GRAY_PERIOD": "Período gris caducidad", - "NO_AVAILABLE_GROUPS": "No hay grupos disponibles", - "SAVE": "Salvar", + "EXPIRATION_REASON": "Razón de caducidad", + "EXPIRATION_REASON_MESSAGE": "Su licencia ha expirado o su ID única de la máquina se ha actualizado debido a un cambio en su sistema. Póngase en contacto con el equipo de soporte de Motion de xCALLY enviando su viejo y nuevo uuid.", + "EXPIRATION_REASON_MESSAGE_CHANGED": "La ID única de su máquina se ha actualizado debido a un cambio en su sistema. Póngase en contacto con el equipo de soporte de Motion de xCALLY enviando su viejo y nuevo uuid.", + "EXPIRATION_REASON_MESSAGE_GRAY": "Su licencia ha expirado o ha sido desactivada. Póngase en contacto con el equipo de soporte de Motion de xCALLY.", + "FEBRUARY": "febrero", + "FRIDAY": "viernes", + "FRIENDS": "Amigos", + "GRAY_PERIOD_EXPIRATION": "Periodo de Periodo Gris", + "GROUPS": "Grupos", "INFO": "Información", - "NEW_CHATGROUP": "Nuevo grupo", - "NAME": "Nombre", + "JANUARY": "enero", + "JULY": "julio", + "JUNE": "junio", + "LICENSE": "Licencia", + "MARCH": "marzo", + "MAY": "Mayo", "MEMBERS": "Miembros", - "ENABLE_WRITING": "Habilitar escritura", - "GROUPS": "Grupos", - "YOU": "Usted {{participantes}}", + "MESSENGER_DISABLED": "¡La mensajería interna está desactivada para este agente!", + "MONDAY": "lunes", + "MORE": "Más", + "NAME": "Nombre", + "NEW_CHATGROUP": "Nuevo grupo", "NEW_INTERNAL_MESSAGE": "Nuevo mensaje interno", - "DELETE": "Borrar", + "NEW_TOKEN": "Token nuevo", + "NOTES": "Notas", + "NOTIFICATIONS": "Notificaciones", + "NOVEMBER": "noviembre", + "NO_AVAILABLE_GROUPS": "No hay grupos disponibles", + "OCTOBER": "octubre", + "OLD_TOKEN": "Old Token", + "QUICK_SETTINGS": "Ajustes rápidos", + "RECENT": "Reciente", + "REPLY_PLACEHOLDER": "Escribe y presiona enter para enviar el mensaje", + "RETRO_THRUSTERS": "Retro Thrusters", + "SATURDAY": "sábado", + "SAVE": "Salvar", "SEARCH": "Buscar", + "SEND_EMAIL_TO": "Enviar el email a", + "SEND_MESSAGE": "Enviar mensaje", + "SEPTEMBER": "septiembre", + "START_NEW_CHAT": "Comenzar un nuevo chat", + "SUNDAY": "domingo", + "THURSDAY": "jueves", + "TODAY": "HOY", + "TOKEN": "Simbólico", + "TUESDAY": "martes", "USERS": "Usuarios", - "EXPIRATION_REASON_MESSAGE_GRAY": "Su licencia ha expirado o ha sido desactivada. Póngase en contacto con el equipo de soporte de Motion de xCALLY.", - "EXPIRATION_REASON_MESSAGE_CHANGED": "La ID única de su máquina se ha actualizado debido a un cambio en su sistema. Póngase en contacto con el equipo de soporte de Motion de xCALLY enviando su viejo y nuevo uuid.", - "MESSENGER_DISABLED": "¡La mensajería interna está desactivada para este agente!", - "WARNING": "Advertencia" + "USER_STATS": "Estadísticas del usuario", + "WARNING": "Advertencia", + "WEDNESDAY": "miércoles", + "YOU": "Usted {{participantes}}" } } \ No newline at end of file diff --git a/public/app/quick-panel/i18n/ja.json b/public/app/quick-panel/i18n/ja.json index 87f8fbe..1b62724 100644 --- a/public/app/quick-panel/i18n/ja.json +++ b/public/app/quick-panel/i18n/ja.json @@ -1,73 +1,73 @@ { "QUICKPANEL": { - "TODAY": "今日", - "MONDAY": "月曜日", - "TUESDAY": "火曜日", - "WEDNESDAY": "水曜日", - "THURSDAY": "木曜日", - "FRIDAY": "金曜日", - "SATURDAY": "土曜日", - "SUNDAY": "日曜日", - "JANUARY": "1 月", - "FEBRUARY": "2 月", - "MARCH": "3 月", - "APRIL": "4 月", - "MAY": "お", - "JUNE": "6 月", - "JULY": "7 月", - "AUGUST": "8 月", - "SEPTEMBER": "9 月", - "OCTOBER": "10 月", - "NOVEMBER": "11 月", - "DECEMBER": "12 月", - "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": "入力したメッセージを送信するにを入力します。", - "CONTACT_XCALLY_MOTION_SUPPORT": "XCALLY モーションサポートにお問い合わせください", - "EXPIRATION_DATE": "有効期限日", - "EXPIRATION_REASON": "有効期限の理由", - "LICENSE": "ライセンス", - "NEW_TOKEN": "新しいトークン", - "OLD_TOKEN": "古いトークン", - "SEND_EMAIL_TO": "に電子メールを送信します", - "TOKEN": "トークン", - "EXPIRATION_REASON_MESSAGE": "ライセンスの有効期限が切れているか、システムに変更が発生したため、マシンの一意の ID が更新されました。 のモーション xCALLY 古い、新しい UUID の両方を送信するサポートチームにお問い合わせください。", - "GRAY_PERIOD_EXPIRATION": "グレーの期間の有効期限", "ERRORS": { "NAME_REQUIRED": "必須フィールド" }, + "ACTIVITY": "アクティビティ", + "APP_SERVERS": "アプリケーションサーバー", + "APRIL": "4月", + "AUGUST": "8月", + "BACK": "バック", + "CALL": "コール", + "CHAT": "チャット", + "CLOUD_SYNC": "クラウドシンク", + "CONTACT_XCALLY_MOTION_SUPPORT": "xCALLY Motion Supportにお問い合わせください", + "DECEMBER": "12月", + "DELETE": "削除", + "ENABLE_WRITING": "書き込みを有効にする", + "EVENTS": "イベント", + "EXPIRATION_DATE": "有効期限", "EXPIRATION_GRAY_PERIOD": "期限切れグレー期間", - "NO_AVAILABLE_GROUPS": "利用可能なグループがありません", - "SAVE": "セーブ", + "EXPIRATION_REASON": "有効期限の理由", + "EXPIRATION_REASON_MESSAGE": "ライセンスの有効期限が切れたか、システムに変更があったためにマシン固有のIDが更新されました。あなたの古いuuidと新しいuuidの両方を送信するxCALLY Motion Support Teamにお問い合わせください。", + "EXPIRATION_REASON_MESSAGE_CHANGED": "システムに変更があったため、マシン固有のIDが更新されました。あなたの古いuuidと新しいuuidの両方を送信するxCALLY Motion Support Teamにお問い合わせください。", + "EXPIRATION_REASON_MESSAGE_GRAY": "ライセンスの有効期限が切れているか、無効になっています。 xCALLY Motion Support Teamにお問い合わせください。", + "FEBRUARY": "2月", + "FRIDAY": "金曜日", + "FRIENDS": "友達", + "GRAY_PERIOD_EXPIRATION": "グレー期間の有効期限", + "GROUPS": "グループ", "INFO": "情報", - "NEW_CHATGROUP": "新しい集団", - "NAME": "名", + "JANUARY": "1月", + "JULY": "7月", + "JUNE": "六月", + "LICENSE": "ライセンス", + "MARCH": "行進", + "MAY": "5月", "MEMBERS": "メンバー", - "ENABLE_WRITING": "書き込みを有効にする", - "GROUPS": "グループ", - "YOU": "あなた{{参加者}}", + "MESSENGER_DISABLED": "このエージェントの内部メッセージングは​​無効です!", + "MONDAY": "月曜", + "MORE": "もっと", + "NAME": "名", + "NEW_CHATGROUP": "新しい集団", "NEW_INTERNAL_MESSAGE": "新しい内部メッセージ", - "DELETE": "削除", + "NEW_TOKEN": "新しいトークン", + "NOTES": "ノート", + "NOTIFICATIONS": "通知", + "NOVEMBER": "11月", + "NO_AVAILABLE_GROUPS": "利用可能なグループがありません", + "OCTOBER": "10月", + "OLD_TOKEN": "古いトークン", + "QUICK_SETTINGS": "クイック設定", + "RECENT": "最近", + "REPLY_PLACEHOLDER": "入力してEnterキーを押してメッセージを送信する", + "RETRO_THRUSTERS": "レトロスラスタ", + "SATURDAY": "土曜日", + "SAVE": "セーブ", "SEARCH": "サーチ", + "SEND_EMAIL_TO": "メールを送信する", + "SEND_MESSAGE": "メッセージを送る", + "SEPTEMBER": "9月", + "START_NEW_CHAT": "新しいチャットを開始", + "SUNDAY": "日曜日", + "THURSDAY": "木曜日", + "TODAY": "今日", + "TOKEN": "トークン", + "TUESDAY": "火曜日", "USERS": "ユーザー", - "EXPIRATION_REASON_MESSAGE_GRAY": "ライセンスの有効期限が切れているか、無効になっています。 xCALLY Motion Support Teamにお問い合わせください。", - "EXPIRATION_REASON_MESSAGE_CHANGED": "システムに変更があったため、マシン固有のIDが更新されました。あなたの古いuuidと新しいuuidの両方を送信するxCALLY Motion Support Teamにお問い合わせください。", - "MESSENGER_DISABLED": "このエージェントの内部メッセージングは​​無効です!", - "WARNING": "警告" + "USER_STATS": "ユーザー統計", + "WARNING": "警告", + "WEDNESDAY": "水曜日", + "YOU": "あなた{{参加者}}" } } \ No newline at end of file diff --git a/public/app/reset/i18n/es.json b/public/app/reset/i18n/es.json index 12e911e..6d72776 100644 --- a/public/app/reset/i18n/es.json +++ b/public/app/reset/i18n/es.json @@ -1,20 +1,20 @@ { "RESETPASSWORD": { - "TITLE": "Restablecer su contraseña", + "ERRORS": { + "CONFIRM_NOT_MATCH": "Las contraseñas no coinciden", + "EMAIL_MUST_VALID": "El correo electrónico debe ser una dirección de correo electrónico válida", + "EMAIL_REQUIRED": "El campo de correo electrónico es obligatorio", + "PASSWORD_REQUIRED": "El campo de contraseña es obligatorio", + "SECURE_PASSWORD_PATTERN": "Debe contener al menos 8 caracteres, con un mínimo de 1 letra minúscula, 1 letra mayúscula, 1 carácter numérico y 1 carácter especial ~! @" + }, "EMAIL_ADRESS": "Dirección de correo electrónico", + "GO_BACK": "Regrese para iniciar sesión", "PASSWORD": "Contraseña", - "PASSWORD_CONFIRM": "Contraseña (confirmar)", - "UPDATE_PASSWORD": "Restablecer mi contraseña", - "GO_BACK": "Volver a inicio", - "PASSWORD_RESET": "Password Reset", - "PASSWORD_RESET_MESSAGE": "Su contraseña ha sido correctamente reset, ahora puede ingresar!", + "PASSWORD_CONFIRM": "Contraseña confirmada)", + "PASSWORD_RESET": "Restablecimiento de contraseña", "PASSWORD_RESET_ERROR": "Error de restablecimiento de contraseña", - "ERRORS": { - "EMAIL_REQUIRED": "El correo electrónico es un campo obligatorio", - "EMAIL_MUST_VALID": "El correo electrónico debe ser una dirección de correo electrónico válida.", - "PASSWORD_REQUIRED": "La contraseña es un campo obligatorio", - "CONFIRM_NOT_MATCH": "Las contraseñas no coinciden.", - "SECURE_PASSWORD_PATTERN": "Debe contener al menos 8 caracteres, con un mínimo de 1 letras minúsculas, 1 en mayúscula, 1 carácter numérico y 1 carácter especial ~!@#$%^&-_=+[{]}." - } + "PASSWORD_RESET_MESSAGE": "Su contraseña ha sido restablecida correctamente, ¡ahora puede iniciar sesión!", + "TITLE": "Restablecer su contraseña", + "UPDATE_PASSWORD": "RESTABLECER MI CONTRASEÑA" } } \ No newline at end of file diff --git a/public/app/reset/i18n/ja.json b/public/app/reset/i18n/ja.json index 0590430..3ad157b 100644 --- a/public/app/reset/i18n/ja.json +++ b/public/app/reset/i18n/ja.json @@ -1,20 +1,20 @@ { "RESETPASSWORD": { - "TITLE": "あなたのパスワードをリセットする", - "EMAIL_ADRESS": "電子メールのアドレス", + "ERRORS": { + "CONFIRM_NOT_MATCH": "パスワードが一致しません", + "EMAIL_MUST_VALID": "電子メールは有効な電子メールアドレスでなければなりません", + "EMAIL_REQUIRED": "メールアドレスは必須です", + "PASSWORD_REQUIRED": "パスワード欄は必須です", + "SECURE_PASSWORD_PATTERN": "最低8文字、小文字1文字、大文字1文字、数字1文字、特殊文字1文字〜!@" + }, + "EMAIL_ADRESS": "電子メールアドレス", + "GO_BACK": "ログインに戻る", "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 文字の小文字 1 文字以上を含む、 1 大文字、 1 文字以上の数字と 1 特殊文字の ~!@#$%^&-_=+[{]}. 必要があります。" - } + "PASSWORD_RESET_ERROR": "パスワードリセットエラー", + "PASSWORD_RESET_MESSAGE": "あなたのパスワードは正しくリセットされました。あなたは今ログインできます!", + "TITLE": "あなたのパスワードをリセット", + "UPDATE_PASSWORD": "私のパスワードをリセットする" } } \ No newline at end of file diff --git a/public/app/toolbar/i18n/es.json b/public/app/toolbar/i18n/es.json index 04da688..19a3983 100644 --- a/public/app/toolbar/i18n/es.json +++ b/public/app/toolbar/i18n/es.json @@ -1,87 +1,87 @@ { "TOOLBAR": { - "TOGGLE_NAVIGATION": "Alternar la navegación", - "TOGGLE_NAVIGATION_FOLD": "Alternar plegado de navegación", - "TOGGLE_NAVIGATION_MODE": "Alternar el modo de navegación", - "SEARCH": "Buscar", - "USER_SETTINGS": "La configuración de usuario", - "TOGGLE_QUICK_PANEL": "Panel Toggle Quick", - "ENGLISH": "Inglés", - "ITALIAN": "El italiano", - "FRENCH": "Francés", - "KOREAN": "Coreano", - "SPANISH": "Español", - "SWEDISH": "Sueco", - "RUSSIAN": "Federación", - "GERMAN": "Alemán", - "JAPANESE": "Japonés", - "CHINESESIMPLIFIED": "Chino simplificado.", - "CHINESETRADITIONAL": "Chino tradicional", - "DUTCH": "Holandés", - "FINNISH": "Finnish", - "DANISH": "Danés", - "PORTUGUESE": "Portugués", - "NORWEGIAN": "Noruego", - "HINDI": "Hindi", - "TURKISH": "Turco", - "PERSIAN": "El persa", - "LOGIN_TIME": "Hora de inicio de sesión", - "PAUSE_TIME": "Tiempo de pausa", - "PREVIEW": "Vista previa", - "CONFIRM_PASSWORD": "Confirmar contraseña", - "NEW_PASSWORD": "Nueva contraseña", - "OLD_PASSWORD": "Contraseña antigua.", - "SAVE": "Guardar", - "TRIAL_VERSION": "Versión de prueba", - "SOMEONE_LOGGED_YOU_OUT": "Alguien registrado fuera, ¿desea permanecer conectado?", - "STAY_LOGGED": "Permanecer conectado", - "WARNING": "Advertencia", - "PAUSE": "Pausa", - "RESUME": "Reanudar", - "NO_PAUSES_AVAILABLE": "Sin pausas disponibles", - "LATVIAN": "El letón", - "POLISH": "Polaco", "ERRORS": { + "CONFIRM_NOT_MATCH": "Las contraseñas no coinciden", "FIELD_REQUIRED": "Campo obligatorio", "PASSWORD_REQUIRED": "Campo obligatorio", - "CONFIRM_NOT_MATCH": "Las contraseñas no coinciden", "SECURE_PASSWORD_PATTERN": "La contraseña debe tener al menos 8 caracteres de longitud y tener 1 carácter en minúscula, 1 carácter en mayúscula, 1 número y 1 carácter especial ~! @" }, - "RESETPASSWORD": "Restablecer la contraseña", - "PASSWORD_EXPIRE_REMAINING_DAYS": "Días restantes antes de que caduque su contraseña", - "BROWSER_COMPATIBILITY": "Compatibilidad del navegador [Chrome, Opera, Safari]", - "RECORDING": "Grabación", - "INVALID_LICENSE": "Licencia invalida", - "BROWSER": "Navegador", - "OS": "Sistema operativo", - "REQUIREMENTS": "Requisitos", - "LICENSE": "Licencia", - "HTTPS": "HTTPS", - "WEBRTCSUPPORT": "Soporte WebRTC", - "REGISTERED": "Registrado", - "NOT_REGISTERED": "No registrado", - "WEBRTC_LICENSE_NOT_ENABELD": "La licencia de WebRTC no está habilitada", + "ACTIONS": "Comportamiento", "ATTENDED_TRANSFER": "Asistió a Tranfer", - "TRANSFER": "Transferir", - "TARGET": "Objetivo", + "AUDIO": "Audio", + "AUTOANSWER": "Respuesta automática", + "BROWSER": "Navegador", + "BROWSER_COMPATIBILITY": "Compatibilidad del navegador [Chrome, Opera, Safari]", "CANCEL": "Cancelar", + "CHANGEPASSWORD": "Cambia la contraseña", + "CHINESESIMPLIFIED": "Chino simplificado", + "CHINESETRADITIONAL": "Chino tradicional", + "CONFIRM_PASSWORD": "Confirmar contraseña", + "DANISH": "danés", + "DUTCH": "holandés", + "ENGLISH": "Inglés", "FILENAME": "Nombre del archivo", - "STATUS": "Estado", - "ACTIONS": "Comportamiento", - "SPEAKER": "Altavoz", - "RINGING": "Tono de llamada", - "MICROPHONE": "Micrófono", - "PROFILE": "Perfil", - "SERVICES": "Servicios", - "AUDIO": "Audio", + "FINNISH": "finlandés", + "FRENCH": "francés", "FULLNAME": "Nombre completo", - "NAME": "Nombre", + "GERMAN": "alemán", + "HINDI": "hindi", + "HTTPS": "HTTPS", "INTERNAL": "Interno", - "RINGINGDEVICE": "Dispositivo de llamada", - "SPEAKERDEVICE": "Dispositivo de altavoz", + "INVALID_LICENSE": "Licencia invalida", + "ITALIAN": "italiano", + "JAPANESE": "japonés", + "KOREAN": "coreano", + "LATVIAN": "letón", + "LICENSE": "Licencia", + "LOGIN_TIME": "Hora de inicio", + "MICROPHONE": "Micrófono", "MICROPHONEDEVICE": "Dispositivo de micrófono", - "CHANGEPASSWORD": "Cambia la contraseña", + "NAME": "Nombre", + "NEW_PASSWORD": "Nueva contraseña", + "NORWEGIAN": "noruego", + "NOT_REGISTERED": "No registrado", + "NO_PAUSES_AVAILABLE": "Sin pausas disponibles", + "OLD_PASSWORD": "Contraseña anterior", + "OS": "Sistema operativo", + "PASSWORD_EXPIRE_REMAINING_DAYS": "Días restantes antes de que caduque su contraseña", + "PAUSE": "Pausa", + "PAUSE_TIME": "Tiempo de pausa", + "PERSIAN": "persa", + "POLISH": "polaco", + "PORTUGUESE": "portugués", + "PREVIEW": "Avance", + "PROFILE": "Perfil", + "RECORDING": "Grabación", + "REGISTERED": "Registrado", + "REQUIREMENTS": "Requisitos", + "RESETPASSWORD": "Restablecer la contraseña", + "RESUME": "Fin de pausa", + "RINGING": "Tono de llamada", + "RINGINGDEVICE": "Dispositivo de llamada", + "RUSSIAN": "ruso", + "SAVE": "Salvar", + "SEARCH": "Buscar", + "SERVICES": "Servicios", "SETTINGS": "Configuraciones", - "AUTOANSWER": "Respuesta automática" + "SOMEONE_LOGGED_YOU_OUT": "Alguien se desconectó, ¿quieres quedarte conectado?", + "SPANISH": "Español", + "SPEAKER": "Altavoz", + "SPEAKERDEVICE": "Dispositivo de altavoz", + "STATUS": "Estado", + "STAY_LOGGED": "Permanecer conectado", + "SWEDISH": "sueco", + "TARGET": "Objetivo", + "TOGGLE_NAVIGATION": "Navegación de palanca", + "TOGGLE_NAVIGATION_FOLD": "Alternar pliegue de navegación", + "TOGGLE_NAVIGATION_MODE": "Alternar el modo de navegación", + "TOGGLE_QUICK_PANEL": "Alternar panel rápido", + "TRANSFER": "Transferir", + "TRIAL_VERSION": "Versión de prueba", + "TURKISH": "turco", + "USER_SETTINGS": "Ajustes de usuario", + "WARNING": "Advertencia", + "WEBRTCSUPPORT": "Soporte WebRTC", + "WEBRTC_LICENSE_NOT_ENABELD": "La licencia de WebRTC no está habilitada" } } \ No newline at end of file diff --git a/public/app/toolbar/i18n/ja.json b/public/app/toolbar/i18n/ja.json index 72d4507..ad46ed4 100644 --- a/public/app/toolbar/i18n/ja.json +++ b/public/app/toolbar/i18n/ja.json @@ -1,87 +1,87 @@ { "TOOLBAR": { - "TOGGLE_NAVIGATION": "切り替えのナビゲーション", - "TOGGLE_NAVIGATION_FOLD": "切り替えナビゲーション折り", - "TOGGLE_NAVIGATION_MODE": "切り替えナビゲーションモード", - "SEARCH": "検索", - "USER_SETTINGS": "ユーザー設定", - "TOGGLE_QUICK_PANEL": "クイック切り替えパネル", - "ENGLISH": "英語", - "ITALIAN": "イタリア語", - "FRENCH": "フランス語", - "KOREAN": "韓国語", - "SPANISH": "スペイン語", - "SWEDISH": "スウェーデン語", - "RUSSIAN": "ロシア語", - "GERMAN": "ドイツ", - "JAPANESE": "日本", - "CHINESESIMPLIFIED": "簡体字中国語", - "CHINESETRADITIONAL": "中国の伝統的な", - "DUTCH": "オランダ語", - "FINNISH": "フィンランド語", - "DANISH": "デンマーク語", - "PORTUGUESE": "ポルトガル語", - "NORWEGIAN": "ノルウェー語", - "HINDI": "ヒンディー語", - "TURKISH": "トルコ語", - "PERSIAN": "ペルシャ", - "LOGIN_TIME": "ログイン時間", - "PAUSE_TIME": "一時停止時間", - "PREVIEW": "プレビュー", - "CONFIRM_PASSWORD": "パスワードを確認します", - "NEW_PASSWORD": "新しいパスワード", - "OLD_PASSWORD": "古いパスワード", - "SAVE": "保存", - "TRIAL_VERSION": "トライアルバージョン", - "SOMEONE_LOGGED_YOU_OUT": "誰かをログアウトして、ログインしてのご利用をご希望ですか?", - "STAY_LOGGED": "ログインしたままに", - "WARNING": "警告", - "PAUSE": "一時停止", - "RESUME": "再開", - "NO_PAUSES_AVAILABLE": "一時停止できません", - "LATVIAN": "ラトビア語", - "POLISH": "ポーランド語", "ERRORS": { + "CONFIRM_NOT_MATCH": "パスワードが一致しません", "FIELD_REQUIRED": "必須フィールド", "PASSWORD_REQUIRED": "必須フィールド", - "CONFIRM_NOT_MATCH": "パスワードが一致しません", "SECURE_PASSWORD_PATTERN": "パスワードは8文字以上で、小文字1文字、大文字1文字、数字1文字、特殊文字1文字〜!@" }, - "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ライセンスが有効になっていません", + "ACTIONS": "行動", "ATTENDED_TRANSFER": "出席者", - "TRANSFER": "転送", - "TARGET": "ターゲット", + "AUDIO": "オーディオ", + "AUTOANSWER": "自動応答", + "BROWSER": "ブラウザ", + "BROWSER_COMPATIBILITY": "ブラウザの互換性[Chrome、Opera、Safari]", "CANCEL": "キャンセル", + "CHANGEPASSWORD": "パスワードを変更する", + "CHINESESIMPLIFIED": "中国語(簡体字", + "CHINESETRADITIONAL": "中国の伝統的な", + "CONFIRM_PASSWORD": "パスワードを認証する", + "DANISH": "デンマーク語", + "DUTCH": "オランダの", + "ENGLISH": "英語", "FILENAME": "ファイル名", - "STATUS": "状態", - "ACTIONS": "行動", - "SPEAKER": "スピーカー", - "RINGING": "着信音", - "MICROPHONE": "マイクロフォン", - "PROFILE": "プロフィール", - "SERVICES": "サービス", - "AUDIO": "オーディオ", + "FINNISH": "フィンランド語", + "FRENCH": "フランス語", "FULLNAME": "フルネーム", - "NAME": "名", + "GERMAN": "ドイツ人", + "HINDI": "ヒンディー語", + "HTTPS": "HTTPS", "INTERNAL": "内部", - "RINGINGDEVICE": "リンギング装置", - "SPEAKERDEVICE": "スピーカーデバイス", + "INVALID_LICENSE": "無効なライセンス", + "ITALIAN": "イタリアの", + "JAPANESE": "日本語", + "KOREAN": "韓国語", + "LATVIAN": "ラトビア語", + "LICENSE": "ライセンス", + "LOGIN_TIME": "ログイン時間", + "MICROPHONE": "マイクロフォン", "MICROPHONEDEVICE": "マイクデバイス", - "CHANGEPASSWORD": "パスワードを変更する", + "NAME": "名", + "NEW_PASSWORD": "新しいパスワード", + "NORWEGIAN": "ノルウェー語", + "NOT_REGISTERED": "未登録", + "NO_PAUSES_AVAILABLE": "一時停止はありません", + "OLD_PASSWORD": "以前のパスワード", + "OS": "オペレーティング·システム", + "PASSWORD_EXPIRE_REMAINING_DAYS": "パスワードの有効期限が切れるまでの残りの日数", + "PAUSE": "一時停止", + "PAUSE_TIME": "休止時間", + "PERSIAN": "ペルシア語", + "POLISH": "研磨", + "PORTUGUESE": "ポルトガル", + "PREVIEW": "プレビュー", + "PROFILE": "プロフィール", + "RECORDING": "録音", + "REGISTERED": "登録済み", + "REQUIREMENTS": "要件", + "RESETPASSWORD": "パスワードを再設定する", + "RESUME": "終了ポーズ", + "RINGING": "着信音", + "RINGINGDEVICE": "リンギング装置", + "RUSSIAN": "ロシア", + "SAVE": "セーブ", + "SEARCH": "サーチ", + "SERVICES": "サービス", "SETTINGS": "設定", - "AUTOANSWER": "自動応答" + "SOMEONE_LOGGED_YOU_OUT": "誰かがログアウトしました。ログに記録しますか?", + "SPANISH": "スペイン語", + "SPEAKER": "スピーカー", + "SPEAKERDEVICE": "スピーカーデバイス", + "STATUS": "状態", + "STAY_LOGGED": "滞在している", + "SWEDISH": "スウェーデンの", + "TARGET": "ターゲット", + "TOGGLE_NAVIGATION": "ナビゲーションの切り替え", + "TOGGLE_NAVIGATION_FOLD": "ナビゲーションフォールドを切り替える", + "TOGGLE_NAVIGATION_MODE": "ナビゲーションモードの切り替え", + "TOGGLE_QUICK_PANEL": "クイックパネルの切り替え", + "TRANSFER": "転送", + "TRIAL_VERSION": "体験版", + "TURKISH": "トルコ語", + "USER_SETTINGS": "ユーザー設定", + "WARNING": "警告", + "WEBRTCSUPPORT": "WebRTCのサポート", + "WEBRTC_LICENSE_NOT_ENABELD": "WebRTCライセンスが有効になっていません" } } \ No newline at end of file diff --git a/public/assets/ms-phonebar/sounds/dialpad/0.wav b/public/assets/ms-phonebar/sounds/dialpad/0.wav deleted file mode 100644 index 1401ebc12e8506ae6edb85c47c5e607c351cfc2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13274 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ʡVxpH=is&2_GA`Gus9I7^M(g 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

2!`}lx}qH|)B6Hby- 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 G1^x%>ia~?` diff --git a/public/assets/ms-phonebar/sounds/dialpad/2.wav b/public/assets/ms-phonebar/sounds/dialpad/2.wav deleted file mode 100644 index b8bff23cb3a68702bc95560b0b352d300049c26c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13274 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 I{y%~L0S?MpNdN!< diff --git a/public/assets/ms-phonebar/sounds/dialpad/3.wav b/public/assets/ms-phonebar/sounds/dialpad/3.wav deleted file mode 100644 index ed99edda65670ccc0c400cc6386297a11462effa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13274 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 diff --git a/public/assets/ms-phonebar/sounds/dialpad/4.wav b/public/assets/ms-phonebar/sounds/dialpad/4.wav deleted file mode 100644 index c0e593ebd53e3dfb5741d1aaf225f10cbc31ed36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13274 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 z 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 M_$TmB;Qtf&A3ixM5dZ)H diff --git a/public/assets/ms-phonebar/sounds/dialpad/6.wav b/public/assets/ms-phonebar/sounds/dialpad/6.wav deleted file mode 100644 index 9eac196e7e22fdc7128ef38d1955aadf0ac6d43d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13274 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 Cn-+fn diff --git a/public/assets/ms-phonebar/sounds/dialpad/8.wav b/public/assets/ms-phonebar/sounds/dialpad/8.wav deleted file mode 100644 index de9548e7fb2bff5c01ab6217cc83d3c89d0486c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13274 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 I@c#<@4@<=@kpKVy diff --git a/public/assets/ms-phonebar/sounds/dialpad/9.wav b/public/assets/ms-phonebar/sounds/dialpad/9.wav deleted file mode 100644 index cde72758b884b4b8b01c48968eea5b56ce7d11ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13274 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 J1pdDQ{|DQSCW`<7 diff --git a/public/assets/ms-phonebar/sounds/dialpad/A.ogg b/public/assets/ms-phonebar/sounds/dialpad/A.ogg deleted file mode 100644 index 97bcea72f4f90d477519e002a95eae38937cb288..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5426 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�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 E0R8zfjsO4v diff --git a/public/assets/ms-phonebar/sounds/dialpad/B.ogg b/public/assets/ms-phonebar/sounds/dialpad/B.ogg deleted file mode 100644 index 6ad0717eec930f69a589658e17e2943f0242dfaf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5426 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 diff --git a/public/assets/ms-phonebar/sounds/dialpad/B.wav b/public/assets/ms-phonebar/sounds/dialpad/B.wav deleted file mode 100644 index b18a972ccc0400e376e1b17996fc02093c90f0f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13274 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 CV>ciG diff --git a/public/assets/ms-phonebar/sounds/dialpad/C.ogg b/public/assets/ms-phonebar/sounds/dialpad/C.ogg deleted file mode 100644 index 6a1e3fc03ad0f03f6d5ee9b703e55f7f55f82df3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5536 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 diff --git a/public/assets/ms-phonebar/sounds/dialpad/C.wav b/public/assets/ms-phonebar/sounds/dialpad/C.wav deleted file mode 100644 index 60eecad6f229d782d630890ae93ceb57fbd6b5a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13274 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 JpTPes@INO_B!U0{ diff --git a/public/assets/ms-phonebar/sounds/dialpad/D.ogg b/public/assets/ms-phonebar/sounds/dialpad/D.ogg deleted file mode 100644 index d127d2ca6ef356e2f3ab8ec9e3f454fe7d3eca47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5462 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 YNSU#^@AAbL&)@%Tzu?DdNl0J+U-XpKCIA2c diff --git a/public/assets/ms-phonebar/sounds/dialpad/D.wav b/public/assets/ms-phonebar/sounds/dialpad/D.wav deleted file mode 100644 index b30a355f3139a643b424462832056425cea27221..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13274 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 H{}cEh6yihp diff --git a/public/assets/ms-phonebar/sounds/dialpad/pound.wav b/public/assets/ms-phonebar/sounds/dialpad/pound.wav deleted file mode 100644 index 839feffaed1fab90add7ec9c5ccb5009f62e3013..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13274 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 J1pYsP{{d<&LfQZT diff --git a/public/assets/ms-phonebar/sounds/incoming-call.wav b/public/assets/ms-phonebar/sounds/incoming-call.wav deleted file mode 100644 index 3b398c58928278a7e6739a78935eca475bb9c559..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267308 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

3{z3YUqI;$zKf@&lic)Z$ z%AT4El*9QqD{IyhpcOkiOT&73BGQ*yNoy6pP|Q>YK@X{2U;Dn%V*Cx=p#0h>o^>$; ztRdyN%$v~K59`}}Ci`J~pL(KE^!&j>F)je}evP**K0VFN5UT^gfy2--spA7bC#0}H z&?Vdxihd-}LV)xgl)Q|G9e}mOm<)uFKlDjT+vCq9_E43kEjwE`)zUk^@gQ_;Q64Tqlqnl8k13z4c~ z$Nt7NHftLyXf{?3RN>=>Gs=gI!i@v~!N}G4Hjo#tAgK{(W%#$Qn^7r|vEzhy?;0)C zShyr{eAbZnj@YPKvDknbvE{OF!}L)Hx^v}TsyU0YiHZx@xNeCKMI!U5iINzMjRj;& zR~o~{g>(=|Zu_^=+*H9(C7i_Gmrul>u!!mZ$u(dhH=Iq9M~!%q9wVHfTpaYXO5I3P zp(srW%h>E?Xm6c{)GH(na;H3uM8TzfA7r*P-ax?y3%V-W(vEMY+h?Z9nOjeXfV?vK z2B8~sX3KIWt0RdiIZ0lRGeH9L$0M+rjHtyP^G zf%4Th;tnf(AYA^f{-uH4u?J@d5#qwbDCS9mKPiYb8@bM<&J)?=&_TCI<9=bP zvK{2wYP9WXi$AD{dAf9?Z3fs_;~Ugq)J?feDN)`{Umj*hJuSS*L?()$#R87;v?{7p60Hk` z7bkMZdV9XNsMg-!CYvk~&a*Czs_t#{Iv{b|3x^#N9Vff0_L>N6p7ufe{?mNTzOJCO z>kjNc{w+3MZQ3{s|3Oog^GLdamm7kdf^oML{D={0!Yg#lX<-bkO zp^5?LX7y(;E==og5-|fd`F=|;R3sMC#*@|L6#w-7kdP(VY8s+xS$F5ne2$A86s|cn zW0{n~#UlnsJ(_i1j)e&hn7+n_twur12@j~;u3YjrgCo$#OZ!S%$C{KL4*!xaw3jaH z=xD?D%51`d7SbEJ-QL`*uw_L##7oBMYSy-evA?_0ZXq!&#>^dB{FRq zAn1M5YTf4Yd77bdr@gM4(+mQ%A4UPS%biw?h5J_oBynMI6Z`^T@W^II`Eyr)>9 z>)MF*^Fdi%9fLX9mIsvOi6WXD-~kD&Lub0Ciu5U3ydwIyi$6)@DH*|Gco`#?O%!ej|VH*ig|aMZXGap(T`IzWc2kPwfpdon>Luu%Avj&lB*}IFG)#J!Pm;Ixj zl*IXWg+<&SxUTt$)#%=jEq-D{>K@XBmGh(1)Z$IF1<2}mPe9il@Nqg&)tMa4yCauA z*g14RG~H9Or=_QrKRB0&EZ3S+%ays_{EF^v_#_|}e52vFv;bMonpT$8Dxt%wOpCv7 zvJN%F?$`HkF&To6DusQT2e-Q##;VpNoc&sH-`XcBI%|i4x1=taE6UUtbxhQ*d_oUJ zzT`)Bo5&G`+bGLOP08Aw8&kx*I35@*i%(cp>_7?YwYD|Q)e8F(nRgI()?X>fyDx11 zu6nl73_ophoV48%Hupr~MaN+=nwK4fR6W&oQuUeHF+PV59=Bf@Tbo`ew_LZK_wpW=a{lLngeap2fjVER`r&lrhQgRc6F+3 zwLRT*ST>lQZ8gIN2?SdKwhmp<3c#1B!T3f8>z7R<(ofQtb3>bxHpl zQ>Ie1@`8eS0i*_~e+z8|F4b0V7c!O%00w7BiBq?FB$qbj@2c-tKCiAYo78AO|J}|3 z1@54*$7{m@Po+!;>0z8j2$uo3RVFh_#H>+w+}un-9!E`>@WI_Ub}1&aOZZ^ zx)=mMD_xgddkK43wqtR3Yd{H+_HW^SkO6$(v=iV|{R~V-rwc@qJG|mt6~OK^zB>4{ zDZlY(-d)LSvgJBjgv;Ew>jRu+C#rYEy6Bwi{4y?H;?xUw6`Q%dMMu6rTH`-$?)ED(rg4c6WQPXQqTM`&7FTZY_ zpQG{y@~-Sd6F&a;h>i$L^4IDKs^>&NgSq5hr+Wykj$?yt5&Y;;&8fL>DSA{uT*5Y! zR5R7nTHgAyGrohWWkEnL?j26)86!n#MIfHgt@CSm^!gd`$ARB@uAPyLcI2`RG@u+= zuJq2@dG40w{XNQ3pIGw^k_a8+@48=gS_P^+@-z+A>+{}gFYp>`*iV-jMHY8A8CqHp zA34t~F-E8y7^*23S?J&{D|_h|ZzN3VQOD#iL%TNhHv?1dcHABi(4&a1;%_TO8?S*& zxoFjB{QmB}z;VtGL5lG|!Bz_^C5jcf9k==rDZMgM2d=)eovNxy3KGvOHq-vCc5~vj zF&flg{jSz*>=ja-^oR50U(ebj9#2rBRYg1k6PERZ&bhzEY-7WH;~BY3F)QeA%k4sFwLUt32E>WRs{z!{u&LZwL#fl*&i0>t==5*;$?!?&lCDLi1F6eT2FY z6M2CI?=P;QPhA~QF5S8~Fr37tuZL<6V2^QqtA^_Xv9HOoa6NtnK)F>}k0)0;!$?M53EswtfO-s`qMbWX!SNSig1lt#+TZ>Yx(n)J- zneerFiOiT%EPb~28y={@7iIHi7L8d<`Z{I;CdmerR#jSU5|l5hoSFCu9387jVX86_ zsk4gAqqSiiCFOF3h$S=VQol^awjR$aQ>S94w!?bkJTKHDorshRls(+F4yAh?)T|vp zwzhXEp2_iP(RzS#f&49!6s(jO^*imTff>o-}h@seEjHYy@tQQY=t^F_V+CGgUvZzS!PT{KYvFt3`Uy00Lbl_i8ki` zBMUt$yLFoLAcMV8_)yQA=;n=!rCXDDf};sp|1*=kZ{LZjs-gh70v7Y|geIJ3679w_qCY*Up< zV~;$On&19nAh%NV_s`P8z*jca=nv|~a9qKcNwT;Z+?j7oFIgF2mU2fG^rG_HjqI63>Imc^>XnK< z{$s{Yzz3fMW~*}u@94ori;ThTAflt9S5`vX#F_`^?8dv*ljBkUcBm4H)dr)=unv6A zGv*)Zn8j7(g3g{I)c8|^K0b@QLhq}mZ@a42VD}h3Fe{;Dw?79xH-4fSx6sE6XCM$A zX5O$*MuRg7b?z7s*ROh_Y9A%2_4=ZQ>T}3_hWZ1cU0EW#5ogtl#Bu@O>N9HYVbEr? zic52E``M*2Td$zv(*X6Zp%WcnY$#6t%0(SF6fLI&EK;|o9m_GDs6eQxTp2th z{s214Sy!CLt7-q8xRbiwan!coE|KzFSWHVVI*KeeQVW5?8}kF}{%RxKD^{kq9(87y z)d8(lS6zcdc#O~?Y*U=mGj}+WrzbYz*|7sQvRg$5>&6t^>6>xCEjI5^s($6C?B=|j zpTxA2^df|Hj?%(E2P3i*gsug>YTHR2pCOnn%KMBxo;hzh%&FdMPTqxOO@JB zjmiwk%{b5cqHMPb-CDZu7xyNd(5V`^IGL8}M`f*09XpXWg?5 zf@JLAoe&)b=Q^ym@@CTdBdZz76E<7QkABw}#M=;>Y9-+HrA=x&$@Lh4S4d5M|Gx!2 zrb>%P9MO8z8{b!LGm*T89|ZSo2kxks&LO=HFuK<)O;DTR30OBD*QS4 ziX#=rn`0>&OTkHZtirmsssCj4hVx{POEwnEFBqmpcb;=rs7E)7Zj>fOvh8$t&sCd- zOH{o&tetIaz<;NAyz%8$vEXXvg5`Tf$>C|WQDm&`Glw@6(KV8mRZ=XdEl7NvY6j*! ztmr)%CboZ)Z9K@jz2qSdTK(vKMP;q@FQIIk&(StX$Pb+B<)WUx)b!SP)0V08j~$y^ zs{eHzP@yc3t$RY>4__;%$yW>Ar~v)l(GdwGnz4~DEy#L6FSew8VPketq20+Z`^Y*}zo<6OIzh*>|AUlKN?7%xmlxZA z0%o*X$LAlkdfDo%RJw5UdmTnr%n|w%C*QKMZM-RLGq$$Cch-Q!n7} zQ^S*b(Zyf&pW>vNF2hm0Sl)@n(=mWqRS6gRO%cMf^oH{G-po=y%;QB}#rP=#Z6U~H zgs+!k|3Z^Wp`&drJON|HtrOm7Sv znI>8$b?N*&~sn zJ6|{@zGd1)VIhI2)(JKo#ZqU5Tl%habeTabroJs}jpq&qS?(Wd>3U#QF#D2C<&U*@ zt3HxztAF7%V$<5Fh5M*L+nmyhZ!J;U4zrm*Eqw`73n~@!>Z%ZH@;p0wY8Ioj-d76< zoVEKWpcMTgsH3+h--4%=nT=dQZU>`3)E9jl!BC2 z`$4`=FO0voG2pC$E*;C8OyrMPeV?Jr4ME<4yFxM)VtEHGS{2-qZY@oQ29E z-!C&7gg@Sz18?uGdJM!hMvnPY z=Hb(u24z?E1?r#U%cr-NzYWDBfR!Z+>7L%b6?2!=L^x-ceV8ILK4BW-__^cyuLWL! zSs8`pE1qBEOnPz-N~)R8^jqCuUl#7i-CDX~lxMtIKe`;IJU9IvlPDD;xFUUrqKu3L z`sIJ@ZA*N|Zr4XpQzjm&unRs^%DCVse@z4}9msIDek(E55QUxP61ID^9_Z_UmRcZ` zS==tf$EJNcsZvzFh3Vq~tmAHDhomRC*8wK-{d(7Z|3C@2gQ(@vHTztCMz@Xhk=bYH zHc*DXg#%@bZK+@-vS>scRuJp|fv=JJ5dT|MNwD%;Tjh}WA+h<5Z}~k_)QxAL$r--* zkaP8hFin#aYpB_1FoNDmEhUh88zUOJ9b$)WcA437@Ogdz$@NO*Zr#;|_7TONBRX5G z$Imc44HuT5wX6o?P09EW4EQwW8~uc1l&Pu0uXBG(W*5rKEWgr+%1dtP8$BvlDlc&rnq4ORbF%RrIHMA}4HAwxmb2 zZKd}7Ua+D+H5|8;9-UB>Gb?3f7+;x{ZeQGelbu{K>Zqw~TQ3iZS`TKpo82DtT<`HO zULemsK^C|j62mcNz1BoNNsM@RZP_h(D4iZ1q$t>&o7kwhi2^5#w{??$PJZZ***p(z z7crBuXT^+_Wh3%)OTvXHRdq? zxlnd+P_}&ZYu_*60p(b}{MY9QVK|A^AtmPnM5n69I+_4LE+N{yUwE}H=k&feE2ZKm zr!Q^a!v;g%VCRv5`G27MPOWaqV`7R{I!m>;tWvbfvSg&0^Ih?sU~BNrk1`#a<)-xQCbT*Ddfai1amnWlT3!jF1iRW0!t6>nmfyDIKckAoZ0VoA^e-tKIm7xkiVp^NffWbmm^dI?+Og*Fj|lCF&|E5r${;U z?R=Q5PjsB-jLDKq>f4^G4H}%Bz*0VG@1oiFh2Z?@Rp za~7kaSH%y{<(j`T6=QUYb7Z(+6L_*g9J-+CxdBt_>M+|?9sPA!L!%CTc+=k_Me1MP zJvVcdu<@JDtb7jm#6~q_*7Ud%3G}$uc~i~iCvCa*m_e14%{Mh(+8n1N75hFXVucY= z*I887Ws-wmE~s2;6$xWYuQPH|>AyC?yo-~!XE*$zo!*5pR)8_3(H$28s|KXu1>>x4 zTSqoFj!ri@-CnU$`Ds_ES0??PxNdiHD_z~z)B{L|@F3e`a#+FMxaMB&%?RD0uTt|Q z&gyscq<~z{R(14n{MX&_Ob@e48aOo*t}!j1@$Mv)n4S^w5@zo_tR_YEzK&=19z&+`r|cT5 zF#IOdUFF-xWYw_j6T>$g6xmtszrIDq%P?`st8pw*0Gap)vUv(O8IqGh4D4PCwc~FW zRqhR_kUH|I&fqKJ{l-atSzDV}2)u^tQR}N{Njgx3VBzfVYpL|kNem#X=J@0z9evB> zefOJLZ38aZFlyZr|xvmFig?i zAR&T?BB3HGc6WVtcXxMpD<%pkh!}uKiF7l>Fx}mEK7PZ!&pLabv(|e36QgiT3ipi3 z^||%>1#o0~mnhz_n>g#MV&qmg-p7NH)wqeD+x5Ot3C<}4KOoQeMVQy_vs8TkdJM!u zt4#>< zvL%0^6%lcryQ{sIx{znxoH?`u*2{>z-x(v+ zzuHe>U)3Ih9iJzvy3_JujH~UiaDVJDv?szX=4h8UoTB=ynkR; zsqlR_rtAv4lGhp@;Cz)Ifj=aV(Dt~0;$usXMIAQQCv_}vQZ|uC9yOjs)vRkqI4zndL zV!-G7HOp_w5pOo(^1pkDj9CY}XTv9_=)d(Co~B7mX}%AP>wotEt%G@0gt*7^uJD|^bu;dA1qj|eeM zz;2pK%6>(>yGg{+7!+AG+|V z7cUe(D`IM3K~JKAZ=6hY!LP=y3p*q3&p*Wy&P))5a8{-FH|`Gk6?xLFW8P#QtuQRc zGvQd*EYx@=_s6Ev9?RWnJm0R?SzU>Ib4s(t?}`%HMTzQssKf0br0%<;&w0&YpTFh%$?ifF;R44u?l^#<4y1=z~a3# z>|RB*eqX8&goj<2@Q{ArND&7lejJ`Cb>(c)Yrsj-*#7A_ON_H{TK&t3^-yZx4A(Nn zN$dsic7IybX>8r=PZbBpm{Kz9SD80Pn)>$s)FbGed;RnC)Ssa250T6_u7Wdu=7NFt zJfAr435>1f+na_@yPf3hv}%2Q_9;m@$@HrWJQ^CB=iz5#zNYVnR0u{S&r|=GgCAa+ zeWGKHRn1P|Ty&d+T;lx~eYrQg#}rvGXIJ~pU&lFL@t42P@RW~RTE46MdfPi3X7>If z$q&oWw|i3lD|Fc8kd905{)msKJ`d-$QaWCuS0dZKHlp>*g@TlRcmeXgKXKS>Gz^Bnz65o2yb**d2N>d?c4pv9;RM2+_)7U>hcoP!9$&l=y*70{q|R(@VcUky zKBJ6OP0C7o@J>!vSU=dYDSB>dxol$Yytuy!@V;KrA?yKkcc%?1=FXFyuMf^UYE4WI z>>pQjjj>uZ<)JEQc1+Viii}ou9+jQ0Qf(Ue7Ia28{nz@S2QzGh5lzXkTM?tE8jnll zWvn@jF<(`nWf8_gsoN_VppMX)cwftPV&180FL#8n%u0A?#=< zscP397>98y{dkMlrEG2Dt?YXKd=JKd*5L;iP1VKEed{KKR_~Fcr zj=;P*gc-rX#fucj;a7!|<%bKyos{r~f1J0=F=o=D?F=)N1k&49br)4lx{#<4tql-c)8ze}oei(+qsUHG@; z^YsWs#1_rYH`My{$>qv3{E}JK%s2HYwBNXmbN+eH{ZwSHoL1OMAM}cDhK&DJ{VOIu zbc&CKR7W3-3*kUPJ!*8N@4%nvTKH%$;A~lV@BOMBSj^yE$+hG_Y1!-e-@8-prF-`# z2q$->mL$9&gV(cp!GFwSyM{&mg!erI&2~aaqpBj5%XV|GD}TMZK!j=-JT$m=3Na%} z?f&av#H9rf^>MrnzLRIXW}em81^Z7h403MI2+bJVR~lG;%&u}n+hpo-DaU3(fiIeb zjH&52^t-<++OQhaYk7kxrZFtuDdVL?dQPWl+l-ZQ^YKr6n*;YuPa1I?IiiJ#YcirL z%s`rK!-w;){`=7;eEv5jcTj$XxmEg@DxPJUwwP4@Tta?7&x==Gzrj`x?)iPX@EDED z8D0x~==Q#}FoCACyRk}q)|7_itxCubHeb>>1!}?f2)Ikl-_9Zig8~F>3 z>CxZW#hvk`DQ*ih?j+?}M9lax*JK}jZjFDOyjg&Kza(ixrh?vJMEh(At*%q4?hnJy z*`iVY{+qZaaI@}j{VQsJh^G3w=ujAU%%%qIvmIzZdNSaIhiCXiSt~MZqeJ(3usdIW zx&!qVmYA3iwxAc1y zaEm?3=L;5FwJ4^_<80R*4VU3YfB3Bf`a7#6ZM}~7W2t+dE8623wLA_Kg1-gKfyykGVgfQ(E@aVfd+Cz(Dmc1v$b z;~XkjcDR3@Ii4947?LM%+>JQL>Ts@=mb39S_Qr!;N$5>I^urE~dlRK22RRxV928Xb zpm|opC;zn)T>E7Ig|^_%7ySO}R@N1aJA_z+K5K8#k_ULN9Yf z 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%0A6=^5gJ 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

IRhex0jK!J=kXadRCn?I3GRar$Mqa_7*AaX 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 diff --git a/public/assets/ms-phonebar/sounds/incoming-call2.ogg b/public/assets/ms-phonebar/sounds/incoming-call2.ogg deleted file mode 100644 index 7e663e2eaaaaa14af2a14f62ae130731c8745b33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96359 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⁢OB9vVx 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

)$to|TI~PG}f2c)f(9lu=I-F3h>Uw!x;l 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 diff --git a/public/assets/ms-phonebar/sounds/outgoing-call-rejected.wav b/public/assets/ms-phonebar/sounds/outgoing-call-rejected.wav deleted file mode 100644 index 8d70d9304fad4a9014adb461b7e23fdd867aa1a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23416 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 G3H%?;=jWXO diff --git a/public/index.html b/public/index.html index 29ace92..1119fc1 100644 --- a/public/index.html +++ b/public/index.html @@ -12,7 +12,7 @@ - + @@ -58,7 +58,7 @@ - + diff --git a/public/scripts/app.8d3c9926.js b/public/scripts/app.8d3c9926.js deleted file mode 100644 index f16a4c0..0000000 --- a/public/scripts/app.8d3c9926.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.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,createdAt,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,o){var i;return e.resolve("analyticCustomReport@get",{fields:"createdAt,updatedAt,id,name,description,table,conditions,joins",id:t.id}).then(function(e){var t=[];if((i=e).joins)try{i.joins=JSON.parse(i.joins);for(var n=0;n');a.append(t),s(function(){!function(e,t){var n=t.find("code"),a=e.split("\n"),o=(a=a.filter(function(e){return e.trim().length}))[0].match(/^\s*/)[0],i=new RegExp("^"+o);a=a.map(function(e){return e.replace(i,"").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:"=",license:"="},controller:["$scope","$rootScope","$http","$translate","Auth","toasty",function(t,n,a,o,e,i){function s(e){return _.isNil(e)?"":e.replace(/[^\w.+#*\-]+/g,"")}function r(e){return a.get(e).success(function(){i.success({title:"Successful call",msg:"Call properly handled!"})}).error(function(e){i.error({title:"PhoneBar API Error",msg:o.instant("CONTACTMANAGER.ERRORS.PHONEBAR_API")})})}t.currentUser=e.getCurrentUser(),t.showMenu=function(){return t.target&&t.target.indexOf("@")<0&&t.target!=t.currentUser.internal&&t.target!=t.currentUser.name&&(0==t.currentUser.showWebBar&&t.currentUser.phoneBarRemoteControl||2==t.currentUser.showWebBar&&t.license.webrtc)&&!t.disabled},t.call=function(e){switch(t.currentUser.showWebBar){case 0:return r("http://127.0.0.1:"+(t.currentUser.phoneBarRemoteControlPort||"9888")+"/api/originate/"+s(e));case 2:n.$broadcast("webrtc::call",{target:s(e)})}},t.transfer=function(e){switch(t.currentUser.showWebBar){case 0:return r("http://127.0.0.1:"+(t.currentUser.phoneBarRemoteControlPort||"9888")+"/api/transfer?number="+s(e));case 2:n.$broadcast("webrtc::transfer",{target:s(e)})}}}],templateUrl:"app/core/directives/ms-click-to-call/ms-click-to-call.html"}})}(),function(){"use strict";function e(o){return{require:"ngModel",priority:1,link:function(e,t,n,a){a.$formatters.push(o.formatter),a.$parsers.push(o.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 o=[];if(0<=n)o.push(e[n]),t.push(e[n]),e.splice(n,1);else{for(var i=0;id.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(){i.addClass("ms-nav-folded"),g.$broadcast("msNav::forceCollapse"),t.scrollTop(0),l.append(s),s.on("mouseenter touchstart",function(e){c(e),o=!0})}function c(e){angular.isDefined(e)&&e.preventDefault(),i.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),o=!1})}function m(e){angular.isDefined(e)&&e.preventDefault(),g.$broadcast("msNav::forceCollapse"),t.scrollTop(0),i.removeClass("ms-nav-folded-open"),l.parent().find(r).remove(),l.append(s),s.on("mouseenter touchstart",function(e){c(e),o=!0})}function u(){i.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 o},e.$on("$destroy",function(){s.off("mouseenter touchstart"),r.off("mouseenter touchstart"),t.off("mouseenter mouseleave")})}}}function t(n,a,o){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(),o.isNavFoldedOpen()&&o.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,o,e,n){var i={expanded:"expanded",expandAnimation:"expand-animation",collapseAnimation:"collapse-animation"},t=o.find("a"),s=[],r=/\(.*\)/g;function l(){return"true"===o.attr("collapsed")}function d(){var e=u.defer();if(!l())return e.reject({error:!0}),e.promise;o.attr("collapsed",!1);var t=angular.element(o.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"},i.expandAnimation).then(function(){t.addClass(i.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;o.attr("collapsed",!0);var t=angular.element(o.find("ms-nav-toggle-items")[0]),n=t[0].offsetHeight;return a.$evalAsync(function(){p.animate(t,{height:n+"px"},{height:"0px"},i.collapseAnimation).then(function(){t.removeClass(i.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(o,a),o.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(){o.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(o,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('
'),o=angular.element('
'),i=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"),o.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(o),o.on("mouseenter touchstart",d)}function d(e){e&&e.preventDefault(),p.setFoldedOpen(!1),c.$broadcast("msNavigation::collapse"),n.removeClass("ms-navigation-folded-open"),o.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 i.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(){i.close()}),e.$on("$destroy",function(){o.off("mouseenter touchstart"),a.off("mouseenter touchstart")})}}}}function n(n,e,a,o,t,i){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"),o.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"),o.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&&i(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="",o.$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()}}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),t.bind("keyup",function(e){switch(e.keyCode){case 27:i(function(){m.showDialpad=!1})}}),m.$onInit=function(){g("ringing"),g("speaker"),b(),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,o.$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(i,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 o(){PerfectScrollbar.update(t[0])}n.msScroll&&(a=e.$eval(n.msScroll)),a=angular.extend({},s.getConfig(),a),i(function(){PerfectScrollbar.initialize(t[0],a)},0),t.on("mouseenter",o),e.$watch(function(){return t.prop("scrollHeight")},function(e,t){angular.isUndefined(e)||angular.equals(e,t)||o()}),e.$watch(function(){return t.prop("scrollWidth")},function(e,t){angular.isUndefined(e)||angular.equals(e,t)||o()}),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(i,o,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,i.expand(),s.onExpand&&angular.isFunction(s.onExpand)&&s.onExpand()},s.collapse=function(){s.query="",s.populateResults(null),s.collapsed=!0,i.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())}},i.$watch("MsSearchBar.query",function(e,t){if(!angular.isUndefined(e)&&!angular.equals(e,t)&&!s.collapsed){var n=i.$parent.$eval(s.onSearch,{query:e}),a=angular.isArray(n),o=n&&!!n.then;a&&s.populateResults(n),o&&(s.resultsLoading=!0,n.then(function(e){s.populateResults(e)},function(){s.populateResults([])}).finally(function(){s.resultsLoading=!1}))}})}function t(o){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=o.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,o,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,0o.steps.length)}o.mainForm=void 0,o.orientation="horizontal",o.steps=[],o.currentStep=void 0,o.currentStepNumber=1,o.setOrientation=function(e){o.orientation=e||"horizontal"},o.registerMainForm=function(e){o.mainForm=e},o.registerStep=function(e,t,n){var a={element:e,scope:t,form:n,stepNumber:t.step||o.steps.length+1,stepTitle:t.stepTitle,stepTitleTranslate:t.stepTitleTranslate};return o.steps.push(a),o.steps.sort(function(e,t){return e.stepNumber-t.stepNumber}),a},o.setupSteps=function(){o.setCurrentStep(o.currentStepNumber)},o.resetForm=function(){e(function(){for(var e=0;en.position().top+o&&(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 o=angular.element('
');t.append(o);var i={scrollEl:"#content"};i=angular.extend(i,e.msTimeline,{});var s=angular.element(i.scrollEl);a.setScrollEl(s);var r=144;function l(){s.scrollTop()+s.height()+r>o.position().top&&(o.addClass("show"),c(),e.loadMore().then(function(){o.removeClass("show"),d()},function(){o.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";angular.module("app.core").directive("msTimezone",function(){return{restrict:"E",scope:{ngModel:"="},controller:["$scope",function(e){e.timezone=[{name:"Europe/Andorra",utcOffset:60,offsetStr:"+01:00",countries:["AD"]},{name:"Asia/Dubai",utcOffset:240,offsetStr:"+04:00",countries:["AE","OM"]},{name:"Asia/Kabul",utcOffset:270,offsetStr:"+04:30",countries:["AF"]},{name:"Europe/Tirane",utcOffset:60,offsetStr:"+01:00",countries:["AL"]},{name:"Asia/Yerevan",utcOffset:240,offsetStr:"+04:00",countries:["AM"]},{name:"Antarctica/Rothera",utcOffset:-180,offsetStr:"-03:00",countries:["AQ"]},{name:"Antarctica/Palmer",utcOffset:-180,offsetStr:"-03:00",countries:["AQ"]},{name:"Antarctica/Mawson",utcOffset:300,offsetStr:"+05:00",countries:["AQ"]},{name:"Antarctica/Davis",utcOffset:420,offsetStr:"+07:00",countries:["AQ"]},{name:"Antarctica/Casey",utcOffset:480,offsetStr:"+08:00",countries:["AQ"]},{name:"Antarctica/Vostok",utcOffset:360,offsetStr:"+06:00",countries:["AQ"]},{name:"Antarctica/DumontDUrville",utcOffset:600,offsetStr:"+10:00",countries:["AQ"]},{name:"Antarctica/Syowa",utcOffset:180,offsetStr:"+03:00",countries:["AQ"]},{name:"Antarctica/Troll",utcOffset:0,offsetStr:"+00:00",countries:["AQ"]},{name:"America/Argentina/Buenos_Aires",utcOffset:-180,offsetStr:"-03:00",countries:["AR"]},{name:"America/Argentina/Cordoba",utcOffset:-180,offsetStr:"-03:00",countries:["AR"]},{name:"America/Argentina/Salta",utcOffset:-180,offsetStr:"-03:00",countries:["AR"]},{name:"America/Argentina/Jujuy",utcOffset:-180,offsetStr:"-03:00",countries:["AR"]},{name:"America/Argentina/Tucuman",utcOffset:-180,offsetStr:"-03:00",countries:["AR"]},{name:"America/Argentina/Catamarca",utcOffset:-180,offsetStr:"-03:00",countries:["AR"]},{name:"America/Argentina/La_Rioja",utcOffset:-180,offsetStr:"-03:00",countries:["AR"]},{name:"America/Argentina/San_Juan",utcOffset:-180,offsetStr:"-03:00",countries:["AR"]},{name:"America/Argentina/Mendoza",utcOffset:-180,offsetStr:"-03:00",countries:["AR"]},{name:"America/Argentina/San_Luis",utcOffset:-180,offsetStr:"-03:00",countries:["AR"]},{name:"America/Argentina/Rio_Gallegos",utcOffset:-180,offsetStr:"-03:00",countries:["AR"]},{name:"America/Argentina/Ushuaia",utcOffset:-180,offsetStr:"-03:00",countries:["AR"]},{name:"Pacific/Pago_Pago",utcOffset:-660,offsetStr:"-11:00",countries:["AS","UM"]},{name:"Europe/Vienna",utcOffset:60,offsetStr:"+01:00",countries:["AT"]},{name:"Australia/Lord_Howe",utcOffset:660,offsetStr:"+11:00",countries:["AU"]},{name:"Antarctica/Macquarie",utcOffset:660,offsetStr:"+11:00",countries:["AU"]},{name:"Australia/Hobart",utcOffset:660,offsetStr:"+11:00",countries:["AU"]},{name:"Australia/Currie",utcOffset:660,offsetStr:"+11:00",countries:["AU"]},{name:"Australia/Melbourne",utcOffset:660,offsetStr:"+11:00",countries:["AU"]},{name:"Australia/Sydney",utcOffset:660,offsetStr:"+11:00",countries:["AU"]},{name:"Australia/Broken_Hill",utcOffset:630,offsetStr:"+10:30",countries:["AU"]},{name:"Australia/Brisbane",utcOffset:600,offsetStr:"+10:00",countries:["AU"]},{name:"Australia/Lindeman",utcOffset:600,offsetStr:"+10:00",countries:["AU"]},{name:"Australia/Adelaide",utcOffset:630,offsetStr:"+10:30",countries:["AU"]},{name:"Australia/Darwin",utcOffset:570,offsetStr:"+09:30",countries:["AU"]},{name:"Australia/Perth",utcOffset:480,offsetStr:"+08:00",countries:["AU"]},{name:"Australia/Eucla",utcOffset:525,offsetStr:"+08:45",countries:["AU"]},{name:"Asia/Baku",utcOffset:240,offsetStr:"+04:00",countries:["AZ"]},{name:"America/Barbados",utcOffset:-240,offsetStr:"-04:00",countries:["BB"]},{name:"Asia/Dhaka",utcOffset:360,offsetStr:"+06:00",countries:["BD"]},{name:"Europe/Brussels",utcOffset:60,offsetStr:"+01:00",countries:["BE"]},{name:"Europe/Sofia",utcOffset:120,offsetStr:"+02:00",countries:["BG"]},{name:"Atlantic/Bermuda",utcOffset:-240,offsetStr:"-04:00",countries:["BM"]},{name:"Asia/Brunei",utcOffset:480,offsetStr:"+08:00",countries:["BN"]},{name:"America/La_Paz",utcOffset:-240,offsetStr:"-04:00",countries:["BO"]},{name:"America/Noronha",utcOffset:-120,offsetStr:"-02:00",countries:["BR"]},{name:"America/Belem",utcOffset:-180,offsetStr:"-03:00",countries:["BR"]},{name:"America/Fortaleza",utcOffset:-180,offsetStr:"-03:00",countries:["BR"]},{name:"America/Recife",utcOffset:-180,offsetStr:"-03:00",countries:["BR"]},{name:"America/Araguaina",utcOffset:-180,offsetStr:"-03:00",countries:["BR"]},{name:"America/Maceio",utcOffset:-180,offsetStr:"-03:00",countries:["BR"]},{name:"America/Bahia",utcOffset:-180,offsetStr:"-03:00",countries:["BR"]},{name:"America/Sao_Paulo",utcOffset:-120,offsetStr:"-02:00",countries:["BR"]},{name:"America/Campo_Grande",utcOffset:-180,offsetStr:"-03:00",countries:["BR"]},{name:"America/Cuiaba",utcOffset:-180,offsetStr:"-03:00",countries:["BR"]},{name:"America/Santarem",utcOffset:-180,offsetStr:"-03:00",countries:["BR"]},{name:"America/Porto_Velho",utcOffset:-240,offsetStr:"-04:00",countries:["BR"]},{name:"America/Boa_Vista",utcOffset:-240,offsetStr:"-04:00",countries:["BR"]},{name:"America/Manaus",utcOffset:-240,offsetStr:"-04:00",countries:["BR"]},{name:"America/Eirunepe",utcOffset:-300,offsetStr:"-05:00",countries:["BR"]},{name:"America/Rio_Branco",utcOffset:-300,offsetStr:"-05:00",countries:["BR"]},{name:"America/Nassau",utcOffset:-300,offsetStr:"-05:00",countries:["BS"]},{name:"Asia/Thimphu",utcOffset:360,offsetStr:"+06:00",countries:["BT"]},{name:"Europe/Minsk",utcOffset:180,offsetStr:"+03:00",countries:["BY"]},{name:"America/Belize",utcOffset:-360,offsetStr:"-06:00",countries:["BZ"]},{name:"America/St_Johns",utcOffset:-210,offsetStr:"-03:30",countries:["CA"]},{name:"America/Halifax",utcOffset:-240,offsetStr:"-04:00",countries:["CA"]},{name:"America/Glace_Bay",utcOffset:-240,offsetStr:"-04:00",countries:["CA"]},{name:"America/Moncton",utcOffset:-240,offsetStr:"-04:00",countries:["CA"]},{name:"America/Goose_Bay",utcOffset:-240,offsetStr:"-04:00",countries:["CA"]},{name:"America/Blanc-Sablon",utcOffset:-240,offsetStr:"-04:00",countries:["CA"]},{name:"America/Toronto",utcOffset:-300,offsetStr:"-05:00",countries:["CA"]},{name:"America/Nipigon",utcOffset:-300,offsetStr:"-05:00",countries:["CA"]},{name:"America/Thunder_Bay",utcOffset:-300,offsetStr:"-05:00",countries:["CA"]},{name:"America/Iqaluit",utcOffset:-300,offsetStr:"-05:00",countries:["CA"]},{name:"America/Pangnirtung",utcOffset:-300,offsetStr:"-05:00",countries:["CA"]},{name:"America/Resolute",utcOffset:-360,offsetStr:"-06:00",countries:["CA"]},{name:"America/Atikokan",utcOffset:-300,offsetStr:"-05:00",countries:["CA"]},{name:"America/Rankin_Inlet",utcOffset:-360,offsetStr:"-06:00",countries:["CA"]},{name:"America/Winnipeg",utcOffset:-360,offsetStr:"-06:00",countries:["CA"]},{name:"America/Rainy_River",utcOffset:-360,offsetStr:"-06:00",countries:["CA"]},{name:"America/Regina",utcOffset:-360,offsetStr:"-06:00",countries:["CA"]},{name:"America/Swift_Current",utcOffset:-360,offsetStr:"-06:00",countries:["CA"]},{name:"America/Edmonton",utcOffset:-420,offsetStr:"-07:00",countries:["CA"]},{name:"America/Cambridge_Bay",utcOffset:-420,offsetStr:"-07:00",countries:["CA"]},{name:"America/Yellowknife",utcOffset:-420,offsetStr:"-07:00",countries:["CA"]},{name:"America/Inuvik",utcOffset:-420,offsetStr:"-07:00",countries:["CA"]},{name:"America/Creston",utcOffset:-420,offsetStr:"-07:00",countries:["CA"]},{name:"America/Dawson_Creek",utcOffset:-420,offsetStr:"-07:00",countries:["CA"]},{name:"America/Fort_Nelson",utcOffset:-420,offsetStr:"-07:00",countries:["CA"]},{name:"America/Vancouver",utcOffset:-480,offsetStr:"-08:00",countries:["CA"]},{name:"America/Whitehorse",utcOffset:-480,offsetStr:"-08:00",countries:["CA"]},{name:"America/Dawson",utcOffset:-480,offsetStr:"-08:00",countries:["CA"]},{name:"Indian/Cocos",utcOffset:390,offsetStr:"+06:30",countries:["CC"]},{name:"Europe/Zurich",utcOffset:60,offsetStr:"+01:00",countries:["CH","DE","LI"]},{name:"Africa/Abidjan",utcOffset:0,offsetStr:"+00:00",countries:["CI","BF","GM","GN","ML","MR","SH","SL","SN","ST","TG"]},{name:"Pacific/Rarotonga",utcOffset:-600,offsetStr:"-10:00",countries:["CK"]},{name:"America/Santiago",utcOffset:-180,offsetStr:"-03:00",countries:["CL"]},{name:"Pacific/Easter",utcOffset:-300,offsetStr:"-05:00",countries:["CL"]},{name:"Asia/Shanghai",utcOffset:480,offsetStr:"+08:00",countries:["CN"]},{name:"Asia/Urumqi",utcOffset:360,offsetStr:"+06:00",countries:["CN"]},{name:"America/Bogota",utcOffset:-300,offsetStr:"-05:00",countries:["CO"]},{name:"America/Costa_Rica",utcOffset:-360,offsetStr:"-06:00",countries:["CR"]},{name:"America/Havana",utcOffset:-300,offsetStr:"-05:00",countries:["CU"]},{name:"Atlantic/Cape_Verde",utcOffset:-60,offsetStr:"-01:00",countries:["CV"]},{name:"America/Curacao",utcOffset:-240,offsetStr:"-04:00",countries:["CW","AW","BQ","SX"]},{name:"Indian/Christmas",utcOffset:420,offsetStr:"+07:00",countries:["CX"]},{name:"Asia/Nicosia",utcOffset:120,offsetStr:"+02:00",countries:["CY"]},{name:"Europe/Prague",utcOffset:60,offsetStr:"+01:00",countries:["CZ","SK"]},{name:"Europe/Berlin",utcOffset:60,offsetStr:"+01:00",countries:["DE"]},{name:"Europe/Copenhagen",utcOffset:60,offsetStr:"+01:00",countries:["DK"]},{name:"America/Santo_Domingo",utcOffset:-240,offsetStr:"-04:00",countries:["DO"]},{name:"Africa/Algiers",utcOffset:60,offsetStr:"+01:00",countries:["DZ"]},{name:"America/Guayaquil",utcOffset:-300,offsetStr:"-05:00",countries:["EC"]},{name:"Pacific/Galapagos",utcOffset:-360,offsetStr:"-06:00",countries:["EC"]},{name:"Europe/Tallinn",utcOffset:120,offsetStr:"+02:00",countries:["EE"]},{name:"Africa/Cairo",utcOffset:120,offsetStr:"+02:00",countries:["EG"]},{name:"Africa/El_Aaiun",utcOffset:0,offsetStr:"+00:00",countries:["EH"]},{name:"Europe/Madrid",utcOffset:60,offsetStr:"+01:00",countries:["ES"]},{name:"Africa/Ceuta",utcOffset:60,offsetStr:"+01:00",countries:["ES"]},{name:"Atlantic/Canary",utcOffset:0,offsetStr:"+00:00",countries:["ES"]},{name:"Europe/Helsinki",utcOffset:120,offsetStr:"+02:00",countries:["FI","AX"]},{name:"Pacific/Fiji",utcOffset:720,offsetStr:"+12:00",countries:["FJ"]},{name:"Atlantic/Stanley",utcOffset:-180,offsetStr:"-03:00",countries:["FK"]},{name:"Pacific/Chuuk",utcOffset:600,offsetStr:"+10:00",countries:["FM"]},{name:"Pacific/Pohnpei",utcOffset:660,offsetStr:"+11:00",countries:["FM"]},{name:"Pacific/Kosrae",utcOffset:660,offsetStr:"+11:00",countries:["FM"]},{name:"Atlantic/Faroe",utcOffset:0,offsetStr:"+00:00",countries:["FO"]},{name:"Europe/Paris",utcOffset:60,offsetStr:"+01:00",countries:["FR"]},{name:"Europe/London",utcOffset:0,offsetStr:"+00:00",countries:["GB","GG","IM","JE"]},{name:"Asia/Tbilisi",utcOffset:240,offsetStr:"+04:00",countries:["GE"]},{name:"America/Cayenne",utcOffset:-180,offsetStr:"-03:00",countries:["GF"]},{name:"Africa/Accra",utcOffset:0,offsetStr:"+00:00",countries:["GH"]},{name:"Europe/Gibraltar",utcOffset:60,offsetStr:"+01:00",countries:["GI"]},{name:"America/Godthab",utcOffset:-180,offsetStr:"-03:00",countries:["GL"]},{name:"America/Danmarkshavn",utcOffset:0,offsetStr:"+00:00",countries:["GL"]},{name:"America/Scoresbysund",utcOffset:-60,offsetStr:"-01:00",countries:["GL"]},{name:"America/Thule",utcOffset:-240,offsetStr:"-04:00",countries:["GL"]},{name:"Europe/Athens",utcOffset:120,offsetStr:"+02:00",countries:["GR"]},{name:"Atlantic/South_Georgia",utcOffset:-120,offsetStr:"-02:00",countries:["GS"]},{name:"America/Guatemala",utcOffset:-360,offsetStr:"-06:00",countries:["GT"]},{name:"Pacific/Guam",utcOffset:600,offsetStr:"+10:00",countries:["GU","MP"]},{name:"Africa/Bissau",utcOffset:0,offsetStr:"+00:00",countries:["GW"]},{name:"America/Guyana",utcOffset:-240,offsetStr:"-04:00",countries:["GY"]},{name:"Asia/Hong_Kong",utcOffset:480,offsetStr:"+08:00",countries:["HK"]},{name:"America/Tegucigalpa",utcOffset:-360,offsetStr:"-06:00",countries:["HN"]},{name:"America/Port-au-Prince",utcOffset:-300,offsetStr:"-05:00",countries:["HT"]},{name:"Europe/Budapest",utcOffset:60,offsetStr:"+01:00",countries:["HU"]},{name:"Asia/Jakarta",utcOffset:420,offsetStr:"+07:00",countries:["ID"]},{name:"Asia/Pontianak",utcOffset:420,offsetStr:"+07:00",countries:["ID"]},{name:"Asia/Makassar",utcOffset:480,offsetStr:"+08:00",countries:["ID"]},{name:"Asia/Jayapura",utcOffset:540,offsetStr:"+09:00",countries:["ID"]},{name:"Europe/Dublin",utcOffset:0,offsetStr:"+00:00",countries:["IE"]},{name:"Asia/Jerusalem",utcOffset:120,offsetStr:"+02:00",countries:["IL"]},{name:"Asia/Kolkata",utcOffset:330,offsetStr:"+05:30",countries:["IN"]},{name:"Indian/Chagos",utcOffset:360,offsetStr:"+06:00",countries:["IO"]},{name:"Asia/Baghdad",utcOffset:180,offsetStr:"+03:00",countries:["IQ"]},{name:"Asia/Tehran",utcOffset:210,offsetStr:"+03:30",countries:["IR"]},{name:"Atlantic/Reykjavik",utcOffset:0,offsetStr:"+00:00",countries:["IS"]},{name:"Europe/Rome",utcOffset:60,offsetStr:"+01:00",countries:["IT","SM","VA"]},{name:"America/Jamaica",utcOffset:-300,offsetStr:"-05:00",countries:["JM"]},{name:"Asia/Amman",utcOffset:120,offsetStr:"+02:00",countries:["JO"]},{name:"Asia/Tokyo",utcOffset:540,offsetStr:"+09:00",countries:["JP"]},{name:"Africa/Nairobi",utcOffset:180,offsetStr:"+03:00",countries:["KE","DJ","ER","ET","KM","MG","SO","TZ","UG","YT"]},{name:"Asia/Bishkek",utcOffset:360,offsetStr:"+06:00",countries:["KG"]},{name:"Pacific/Tarawa",utcOffset:720,offsetStr:"+12:00",countries:["KI"]},{name:"Pacific/Enderbury",utcOffset:780,offsetStr:"+13:00",countries:["KI"]},{name:"Pacific/Kiritimati",utcOffset:840,offsetStr:"+14:00",countries:["KI"]},{name:"Asia/Pyongyang",utcOffset:510,offsetStr:"+08:30",countries:["KP"]},{name:"Asia/Seoul",utcOffset:540,offsetStr:"+09:00",countries:["KR"]},{name:"America/Cayman",utcOffset:-300,offsetStr:"-05:00",countries:["KY"]},{name:"Asia/Almaty",utcOffset:360,offsetStr:"+06:00",countries:["KZ"]},{name:"Asia/Qyzylorda",utcOffset:360,offsetStr:"+06:00",countries:["KZ"]},{name:"Asia/Aqtobe",utcOffset:300,offsetStr:"+05:00",countries:["KZ"]},{name:"Asia/Aqtau",utcOffset:300,offsetStr:"+05:00",countries:["KZ"]},{name:"Asia/Oral",utcOffset:300,offsetStr:"+05:00",countries:["KZ"]},{name:"Asia/Beirut",utcOffset:120,offsetStr:"+02:00",countries:["LB"]},{name:"Asia/Colombo",utcOffset:330,offsetStr:"+05:30",countries:["LK"]},{name:"Africa/Monrovia",utcOffset:0,offsetStr:"+00:00",countries:["LR"]},{name:"Europe/Vilnius",utcOffset:120,offsetStr:"+02:00",countries:["LT"]},{name:"Europe/Luxembourg",utcOffset:60,offsetStr:"+01:00",countries:["LU"]},{name:"Europe/Riga",utcOffset:120,offsetStr:"+02:00",countries:["LV"]},{name:"Africa/Tripoli",utcOffset:120,offsetStr:"+02:00",countries:["LY"]},{name:"Africa/Casablanca",utcOffset:0,offsetStr:"+00:00",countries:["MA"]},{name:"Europe/Monaco",utcOffset:60,offsetStr:"+01:00",countries:["MC"]},{name:"Europe/Chisinau",utcOffset:120,offsetStr:"+02:00",countries:["MD"]},{name:"Pacific/Majuro",utcOffset:720,offsetStr:"+12:00",countries:["MH"]},{name:"Pacific/Kwajalein",utcOffset:720,offsetStr:"+12:00",countries:["MH"]},{name:"Asia/Rangoon",utcOffset:390,offsetStr:"+06:30",countries:["MM"]},{name:"Asia/Ulaanbaatar",utcOffset:480,offsetStr:"+08:00",countries:["MN"]},{name:"Asia/Hovd",utcOffset:420,offsetStr:"+07:00",countries:["MN"]},{name:"Asia/Choibalsan",utcOffset:480,offsetStr:"+08:00",countries:["MN"]},{name:"Asia/Macau",utcOffset:480,offsetStr:"+08:00",countries:["MO"]},{name:"America/Martinique",utcOffset:-240,offsetStr:"-04:00",countries:["MQ"]},{name:"Europe/Malta",utcOffset:60,offsetStr:"+01:00",countries:["MT"]},{name:"Indian/Mauritius",utcOffset:240,offsetStr:"+04:00",countries:["MU"]},{name:"Indian/Maldives",utcOffset:300,offsetStr:"+05:00",countries:["MV"]},{name:"America/Mexico_City",utcOffset:-360,offsetStr:"-06:00",countries:["MX"]},{name:"America/Cancun",utcOffset:-300,offsetStr:"-05:00",countries:["MX"]},{name:"America/Merida",utcOffset:-360,offsetStr:"-06:00",countries:["MX"]},{name:"America/Monterrey",utcOffset:-360,offsetStr:"-06:00",countries:["MX"]},{name:"America/Matamoros",utcOffset:-360,offsetStr:"-06:00",countries:["MX"]},{name:"America/Mazatlan",utcOffset:-420,offsetStr:"-07:00",countries:["MX"]},{name:"America/Chihuahua",utcOffset:-420,offsetStr:"-07:00",countries:["MX"]},{name:"America/Ojinaga",utcOffset:-420,offsetStr:"-07:00",countries:["MX"]},{name:"America/Hermosillo",utcOffset:-420,offsetStr:"-07:00",countries:["MX"]},{name:"America/Tijuana",utcOffset:-480,offsetStr:"-08:00",countries:["MX"]},{name:"America/Santa_Isabel",utcOffset:-480,offsetStr:"-08:00",countries:["MX"]},{name:"America/Bahia_Banderas",utcOffset:-360,offsetStr:"-06:00",countries:["MX"]},{name:"Asia/Kuala_Lumpur",utcOffset:480,offsetStr:"+08:00",countries:["MY"]},{name:"Asia/Kuching",utcOffset:480,offsetStr:"+08:00",countries:["MY"]},{name:"Africa/Maputo",utcOffset:120,offsetStr:"+02:00",countries:["MZ","BI","BW","CD","MW","RW","ZM","ZW"]},{name:"Africa/Windhoek",utcOffset:120,offsetStr:"+02:00",countries:["NA"]},{name:"Pacific/Noumea",utcOffset:660,offsetStr:"+11:00",countries:["NC"]},{name:"Pacific/Norfolk",utcOffset:660,offsetStr:"+11:00",countries:["NF"]},{name:"Africa/Lagos",utcOffset:60,offsetStr:"+01:00",countries:["NG","AO","BJ","CD","CF","CG","CM","GA","GQ","NE"]},{name:"America/Managua",utcOffset:-360,offsetStr:"-06:00",countries:["NI"]},{name:"Europe/Amsterdam",utcOffset:60,offsetStr:"+01:00",countries:["NL"]},{name:"Europe/Oslo",utcOffset:60,offsetStr:"+01:00",countries:["NO","SJ"]},{name:"Asia/Kathmandu",utcOffset:345,offsetStr:"+05:45",countries:["NP"]},{name:"Pacific/Nauru",utcOffset:720,offsetStr:"+12:00",countries:["NR"]},{name:"Pacific/Niue",utcOffset:-660,offsetStr:"-11:00",countries:["NU"]},{name:"Pacific/Auckland",utcOffset:780,offsetStr:"+13:00",countries:["NZ","AQ"]},{name:"Pacific/Chatham",utcOffset:825,offsetStr:"+13:45",countries:["NZ"]},{name:"America/Panama",utcOffset:-300,offsetStr:"-05:00",countries:["PA"]},{name:"America/Lima",utcOffset:-300,offsetStr:"-05:00",countries:["PE"]},{name:"Pacific/Tahiti",utcOffset:-600,offsetStr:"-10:00",countries:["PF"]},{name:"Pacific/Marquesas",utcOffset:-570,offsetStr:"-09:30",countries:["PF"]},{name:"Pacific/Gambier",utcOffset:-540,offsetStr:"-09:00",countries:["PF"]},{name:"Pacific/Port_Moresby",utcOffset:600,offsetStr:"+10:00",countries:["PG"]},{name:"Pacific/Bougainville",utcOffset:660,offsetStr:"+11:00",countries:["PG"]},{name:"Asia/Manila",utcOffset:480,offsetStr:"+08:00",countries:["PH"]},{name:"Asia/Karachi",utcOffset:300,offsetStr:"+05:00",countries:["PK"]},{name:"Europe/Warsaw",utcOffset:60,offsetStr:"+01:00",countries:["PL"]},{name:"America/Miquelon",utcOffset:-180,offsetStr:"-03:00",countries:["PM"]},{name:"Pacific/Pitcairn",utcOffset:-480,offsetStr:"-08:00",countries:["PN"]},{name:"America/Puerto_Rico",utcOffset:-240,offsetStr:"-04:00",countries:["PR"]},{name:"Asia/Gaza",utcOffset:120,offsetStr:"+02:00",countries:["PS"]},{name:"Asia/Hebron",utcOffset:120,offsetStr:"+02:00",countries:["PS"]},{name:"Europe/Lisbon",utcOffset:0,offsetStr:"+00:00",countries:["PT"]},{name:"Atlantic/Madeira",utcOffset:0,offsetStr:"+00:00",countries:["PT"]},{name:"Atlantic/Azores",utcOffset:-60,offsetStr:"-01:00",countries:["PT"]},{name:"Pacific/Palau",utcOffset:540,offsetStr:"+09:00",countries:["PW"]},{name:"America/Asuncion",utcOffset:-180,offsetStr:"-03:00",countries:["PY"]},{name:"Asia/Qatar",utcOffset:180,offsetStr:"+03:00",countries:["QA","BH"]},{name:"Indian/Reunion",utcOffset:240,offsetStr:"+04:00",countries:["RE","TF"]},{name:"Europe/Bucharest",utcOffset:120,offsetStr:"+02:00",countries:["RO"]},{name:"Europe/Belgrade",utcOffset:60,offsetStr:"+01:00",countries:["RS","BA","HR","ME","MK","SI"]},{name:"Europe/Kaliningrad",utcOffset:120,offsetStr:"+02:00",countries:["RU"]},{name:"Europe/Moscow",utcOffset:180,offsetStr:"+03:00",countries:["RU"]},{name:"Europe/Simferopol",utcOffset:180,offsetStr:"+03:00",countries:["RU"]},{name:"Europe/Volgograd",utcOffset:180,offsetStr:"+03:00",countries:["RU"]},{name:"Europe/Samara",utcOffset:240,offsetStr:"+04:00",countries:["RU"]},{name:"Asia/Yekaterinburg",utcOffset:300,offsetStr:"+05:00",countries:["RU"]},{name:"Asia/Omsk",utcOffset:360,offsetStr:"+06:00",countries:["RU"]},{name:"Asia/Novosibirsk",utcOffset:360,offsetStr:"+06:00",countries:["RU"]},{name:"Asia/Novokuznetsk",utcOffset:420,offsetStr:"+07:00",countries:["RU"]},{name:"Asia/Krasnoyarsk",utcOffset:420,offsetStr:"+07:00",countries:["RU"]},{name:"Asia/Irkutsk",utcOffset:480,offsetStr:"+08:00",countries:["RU"]},{name:"Asia/Chita",utcOffset:480,offsetStr:"+08:00",countries:["RU"]},{name:"Asia/Yakutsk",utcOffset:540,offsetStr:"+09:00",countries:["RU"]},{name:"Asia/Khandyga",utcOffset:540,offsetStr:"+09:00",countries:["RU"]},{name:"Asia/Vladivostok",utcOffset:600,offsetStr:"+10:00",countries:["RU"]},{name:"Asia/Sakhalin",utcOffset:600,offsetStr:"+10:00",countries:["RU"]},{name:"Asia/Ust-Nera",utcOffset:600,offsetStr:"+10:00",countries:["RU"]},{name:"Asia/Magadan",utcOffset:600,offsetStr:"+10:00",countries:["RU"]},{name:"Asia/Srednekolymsk",utcOffset:660,offsetStr:"+11:00",countries:["RU"]},{name:"Asia/Kamchatka",utcOffset:720,offsetStr:"+12:00",countries:["RU"]},{name:"Asia/Anadyr",utcOffset:720,offsetStr:"+12:00",countries:["RU"]},{name:"Asia/Riyadh",utcOffset:180,offsetStr:"+03:00",countries:["SA","KW","YE"]},{name:"Pacific/Guadalcanal",utcOffset:660,offsetStr:"+11:00",countries:["SB"]},{name:"Indian/Mahe",utcOffset:240,offsetStr:"+04:00",countries:["SC"]},{name:"Africa/Khartoum",utcOffset:180,offsetStr:"+03:00",countries:["SD","SS"]},{name:"Europe/Stockholm",utcOffset:60,offsetStr:"+01:00",countries:["SE"]},{name:"Asia/Singapore",utcOffset:480,offsetStr:"+08:00",countries:["SG"]},{name:"America/Paramaribo",utcOffset:-180,offsetStr:"-03:00",countries:["SR"]},{name:"America/El_Salvador",utcOffset:-360,offsetStr:"-06:00",countries:["SV"]},{name:"Asia/Damascus",utcOffset:120,offsetStr:"+02:00",countries:["SY"]},{name:"America/Grand_Turk",utcOffset:-240,offsetStr:"-04:00",countries:["TC"]},{name:"Africa/Ndjamena",utcOffset:60,offsetStr:"+01:00",countries:["TD"]},{name:"Indian/Kerguelen",utcOffset:300,offsetStr:"+05:00",countries:["TF"]},{name:"Asia/Bangkok",utcOffset:420,offsetStr:"+07:00",countries:["TH","KH","LA","VN"]},{name:"Asia/Dushanbe",utcOffset:300,offsetStr:"+05:00",countries:["TJ"]},{name:"Pacific/Fakaofo",utcOffset:780,offsetStr:"+13:00",countries:["TK"]},{name:"Asia/Dili",utcOffset:540,offsetStr:"+09:00",countries:["TL"]},{name:"Asia/Ashgabat",utcOffset:300,offsetStr:"+05:00",countries:["TM"]},{name:"Africa/Tunis",utcOffset:60,offsetStr:"+01:00",countries:["TN"]},{name:"Pacific/Tongatapu",utcOffset:780,offsetStr:"+13:00",countries:["TO"]},{name:"Europe/Istanbul",utcOffset:120,offsetStr:"+02:00",countries:["TR"]},{name:"America/Port_of_Spain",utcOffset:-240,offsetStr:"-04:00",countries:["TT","AG","AI","BL","DM","GD","GP","KN","LC","MF","MS","VC","VG","VI"]},{name:"Pacific/Funafuti",utcOffset:720,offsetStr:"+12:00",countries:["TV"]},{name:"Asia/Taipei",utcOffset:480,offsetStr:"+08:00",countries:["TW"]},{name:"Europe/Kiev",utcOffset:120,offsetStr:"+02:00",countries:["UA"]},{name:"Europe/Uzhgorod",utcOffset:120,offsetStr:"+02:00",countries:["UA"]},{name:"Europe/Zaporozhye",utcOffset:120,offsetStr:"+02:00",countries:["UA"]},{name:"Pacific/Wake",utcOffset:720,offsetStr:"+12:00",countries:["UM"]},{name:"America/New_York",utcOffset:-300,offsetStr:"-05:00",countries:["US"]},{name:"America/Detroit",utcOffset:-300,offsetStr:"-05:00",countries:["US"]},{name:"America/Kentucky/Louisville",utcOffset:-300,offsetStr:"-05:00",countries:["US"]},{name:"America/Kentucky/Monticello",utcOffset:-300,offsetStr:"-05:00",countries:["US"]},{name:"America/Indiana/Indianapolis",utcOffset:-300,offsetStr:"-05:00",countries:["US"]},{name:"America/Indiana/Vincennes",utcOffset:-300,offsetStr:"-05:00",countries:["US"]},{name:"America/Indiana/Winamac",utcOffset:-300,offsetStr:"-05:00",countries:["US"]},{name:"America/Indiana/Marengo",utcOffset:-300,offsetStr:"-05:00",countries:["US"]},{name:"America/Indiana/Petersburg",utcOffset:-300,offsetStr:"-05:00",countries:["US"]},{name:"America/Indiana/Vevay",utcOffset:-300,offsetStr:"-05:00",countries:["US"]},{name:"America/Chicago",utcOffset:-360,offsetStr:"-06:00",countries:["US"]},{name:"America/Indiana/Tell_City",utcOffset:-360,offsetStr:"-06:00",countries:["US"]},{name:"America/Indiana/Knox",utcOffset:-360,offsetStr:"-06:00",countries:["US"]},{name:"America/Menominee",utcOffset:-360,offsetStr:"-06:00",countries:["US"]},{name:"America/North_Dakota/Center",utcOffset:-360,offsetStr:"-06:00",countries:["US"]},{name:"America/North_Dakota/New_Salem",utcOffset:-360,offsetStr:"-06:00",countries:["US"]},{name:"America/North_Dakota/Beulah",utcOffset:-360,offsetStr:"-06:00",countries:["US"]},{name:"America/Denver",utcOffset:-420,offsetStr:"-07:00",countries:["US"]},{name:"America/Boise",utcOffset:-420,offsetStr:"-07:00",countries:["US"]},{name:"America/Phoenix",utcOffset:-420,offsetStr:"-07:00",countries:["US"]},{name:"America/Los_Angeles",utcOffset:-480,offsetStr:"-08:00",countries:["US"]},{name:"America/Metlakatla",utcOffset:-480,offsetStr:"-08:00",countries:["US"]},{name:"America/Anchorage",utcOffset:-540,offsetStr:"-09:00",countries:["US"]},{name:"America/Juneau",utcOffset:-540,offsetStr:"-09:00",countries:["US"]},{name:"America/Sitka",utcOffset:-540,offsetStr:"-09:00",countries:["US"]},{name:"America/Yakutat",utcOffset:-540,offsetStr:"-09:00",countries:["US"]},{name:"America/Nome",utcOffset:-540,offsetStr:"-09:00",countries:["US"]},{name:"America/Adak",utcOffset:-600,offsetStr:"-10:00",countries:["US"]},{name:"Pacific/Honolulu",utcOffset:-600,offsetStr:"-10:00",countries:["US","UM"]},{name:"America/Montevideo",utcOffset:-180,offsetStr:"-03:00",countries:["UY"]},{name:"Asia/Samarkand",utcOffset:300,offsetStr:"+05:00",countries:["UZ"]},{name:"Asia/Tashkent",utcOffset:300,offsetStr:"+05:00",countries:["UZ"]},{name:"America/Caracas",utcOffset:-270,offsetStr:"-04:30",countries:["VE"]},{name:"Asia/Ho_Chi_Minh",utcOffset:420,offsetStr:"+07:00",countries:["VN"]},{name:"Pacific/Efate",utcOffset:660,offsetStr:"+11:00",countries:["VU"]},{name:"Pacific/Wallis",utcOffset:720,offsetStr:"+12:00",countries:["WF"]},{name:"Pacific/Apia",utcOffset:840,offsetStr:"+14:00",countries:["WS"]},{name:"Africa/Johannesburg",utcOffset:120,offsetStr:"+02:00",countries:["ZA","LS","SZ"]}]}],templateUrl:"app/core/directives/ms-timezone/ms-timezone.html"}})}(),function(){"use strict";angular.module("app.core").controller("MsWidgetEngineCounterController",function(){var a=this;a.filter=[],a.filtered=!1,a.fontSize=20,a.getCount=function(e){var t=0;if(e){a.fontSize=e.attrs[2]&&e.attrs[2].value?parseInt(e.attrs[2].value)-parseInt(e.attrs[2].value)%2:20,e.attrs[1].value&&e.attrs[1].value.length?(a.filtered=!0,a.filter=_.intersection(e.voiceQueuesSelected,e.attrs[1].value)):(a.filtered=!1,a.filter=e.voiceQueuesSelected);for(var n=0;nr.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 o=0,i=0;os.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(o),i.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 o=a.getObject("motion.customTheme");o&&(t.custom=o),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,i,s,r){this.search=function(t){for(var e=[],n=r.getFlatNavigation(),a=s.defer(),o=0;o"+(e.name||"extractedReport")+"
will be deleted.").ariaLabel("delete extractedReport").targetEvent(t).ok("OK").cancel("CANCEL");o.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){o.show({controller:"CreateOrEditExtractedReportDialogController",controllerAs:"vm",templateUrl:"app/main/apps/analytics/views/extractedReports/create/dialog.html",parent:angular.element(i.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=o.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");o.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");o.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){o.show({controller:"CreateOrEditMetricDialogController",controllerAs:"vm",templateUrl:"app/main/apps/analytics/views/metrics/create/dialog.html",parent:angular.element(i.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=o.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");o.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(o.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(),i.success({title:"Field deleted!",msg:e.field?e.field+" has been deleted!":""})}).catch(function(e){i.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 o=this;function i(e){return _.isArray(e)}o.report=a||{},o.selectedTab=e.params.tab||0,o.gotoReports=function(){e.go("app.analytics.reports")},o.saveReport=function(){o.report.conditions=angular.toJson(o.report.condition),n.analyticCustomReport.update({id:o.report.id},_.omit(o.report,"joins")).$promise.then(function(){t.success({title:"Report updated!",msg:o.report.name?o.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()})})},o.previewReport=function(){o.columns=[],o.rows=[],o.error=!1,n.analyticFieldReport.get({fields:"field,alias",nolimit:!0,CustomReportId:o.report.id}).$promise.then(function(e){return o.columns=e?e.rows:[],n.analyticCustomReport.preview({id:o.report.id}).$promise}).then(function(e){o.rows=e}).catch(function(e){console.log(e),o.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(o.error)})},o.queryReport=function(){return o.queryResult="Loading...",n.analyticCustomReport.query({id:o.report.id}).$promise.then(function(e){o.queryResult=e.sql}).catch(function(e){o.queryResult="",console.log(e),o.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(o.error)})},o.mapArray=function(e,t){if(i(e))return _.map(e,t).join(",");return""},o.isArray=i,o.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,o,i){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"===i?"CustomReportId":"DefaultReportId"]=s.report.id,s.promise=o.analyticFieldReport.get(e).$promise.then(function(e){return s.columns=e?e.rows:[],o[i].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,o,i,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){i.go("app.analytics.reports.edit",{id:e.id})},m.copydialog=function(e,t){o.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){o.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){o.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 o;r.analyticMetric.get({fields:"id,name,metric,table",nolimit:!0}).$promise.then(function(e){o=_.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");o.show(n).then(function(){h(e)},function(){console.log("CANCEL")})},m.success=g,m.getReports=v,m.createOrEditReport=function(e,t){o.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=o.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");o.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");o.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,o,i,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")}),o[i].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:i,exportDate:l.exportDate,results:e},resolve:{columns:["apiResolver",function(e){var t={fields:"field,alias",nolimit:!0};return t["analyticCustomReport"===i?"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,o,i,s){var r=this;function l(e){r.results=e||{count:0,rows:[]}}r.errors=[],r.columns=a?a.rows:[],r.results=o||{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[i].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,o,i,s,r,l,d,c){var m=this;function u(e){a.hide(e)}m.errors=[],m.setting=c,m.license=d,m.passwordPattern=m.setting&&m.setting.securePassword?/(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/:"",m.title="CALLYSQUARE.EDIT_ODBC",m.odbc=angular.copy(s),m.odbcs=i,m.newOdbc=!1,m.odbc||(m.odbc={},m.title="CALLYSQUARE.NEW_ODBC",m.newOdbc=!0),m.addNewOdbc=function(){m.errors=[],r.squareOdbc.save(m.odbc).$promise.then(function(e){m.odbcs.unshift(e.toJSON()),o.success({title:"Odbc properly created",msg:m.odbc.name?m.odbc.name+" has been created!":""}),u(e)}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length){m.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");o.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){o.show({controller:"CreateOrEditOdbcDialogController",controllerAs:"vm",templateUrl:"app/main/apps/callysquare/views/odbcs/create/dialog.html",parent:angular.element(i.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=o.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");o.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=o.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};var u=!0,p=1;function g(e){m.projects=e||{count:0,rows:[]}}function v(e){o.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");o.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){o.show({controller:"CreateOrEditSquareRecordingDialogController",controllerAs:"vm",templateUrl:"app/main/apps/callysquare/views/squareRecordings/create/dialog.html",parent:angular.element(i.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=o.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");o.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");o.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){o.show({controller:"CreateOrEditChatQueueDialogController",controllerAs:"vm",templateUrl:"app/main/apps/chat/views/chatQueues/create/dialog.html",parent:angular.element(i.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=o.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");o.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 i},l.dualMultiselectOptions={items:[],selectedItems:[],showSelectAndDeselectAll:!i,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:i||!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,o){var i=this;i.chatQueue=t,i.penalty=0,i.items=[],i.selectedItems=[],i.dualMultiselectOptions={items:[],selectedItems:[],showSelectAndDeselectAll:!0,orderBy:"name",line1:"name",line2:"",line3:"",labelAll:o.instant("CHAT.ALL_TEAMS"),labelSelected:o.instant("CHAT.SELECTED_TEAMS"),transferCallback:function(e,t){a.chatQueue[t?"removeTeams":"addTeams"]({id:i.chatQueue.id,ids:_.map(e,"id"),penalty:i.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()})})}},i.closeDialog=function(){e.hide()},a.chatQueue.getTeams({id:i.chatQueue.id,fields:"id,name",nolimit:!0}).$promise.then(function(e){return i.selectedItems=e.rows?e.rows:[],i.dualMultiselectOptions.selectedItems=i.selectedItems,a.team.get({fields:"id,name",nolimit:!0}).$promise}).then(function(e){i.items=e.rows?e.rows:[],i.dualMultiselectOptions.items=_.differenceBy(i.items,i.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,o,i,s,r,l,d){var c=this;c.currentUser=l.getCurrentUser(),c.license=o,c.setting=i,c.passwordPattern=c.setting.securePassword?/(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/:"",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,o,i,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,name,key,address,remote,ListId,fidelity,timeout,agentAlias,closingQuestion,formSubmitSuccessMessage,formSubmitFailureMessage,color,color_focus,color_button,textColor,fontSize,header_shape,showAgentAvatar,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,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,header_offline,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,forwardTranscript,forwardOffline,forwardOfflineAddress,IntervalId,timezone,description,notificationSound,notificationShake,notificationTemplate",sort:"-updatedAt",limit:10,page:1},v.arrayheader_shape=_.keyBy([{option:"Rounded",value:"'rounded'"},{option:"Squared",value:"'squared'"}],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.deleteconfirm=function(e,t){var n=o.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");o.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){o.show({controller:"CreateOrEditChatWebsiteDialogController",controllerAs:"vm",templateUrl:"app/main/apps/chat/views/chatWebsites/create/dialog.html",parent:angular.element(i.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=o.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");o.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");o.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];o.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(),i.success({title:"App deleted!",msg:e.app?e.app+" has been deleted!":""})},r.deleteSelectedChatWebsiteApps=function(e){var t=o.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");o.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,a){var o=this;o.chatWebsite={},o.ngFlowOptions={maxChunkRetries:1,simultaneousUploads:1,testChunks:!1,progressCallbacksInterval:1e3,allowDuplicateUploads:!0},o.ngFlow={flow:{}},o.dropping=!1,o.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");i.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){i.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=i.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");i.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");i.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){i.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=i.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");i.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.chatDisposition.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");i.show(n).then(function(){g(e)},function(){console.log("CANCEL")})},c.success=p,c.getChatWebsiteInteractions=function(){c.query.offset=(c.query.page-1)*c.query.limit,c.promise=l.chatWebsite.getInteractions(c.query,p).$promise},c.createOrEditChatWebsiteInteraction=function(e,t){i.show({controller:"CreateOrEditInteractionDialogController",controllerAs:"vm",templateUrl:"app/main/apps/chat/views/chatWebsites/edit/interactions/dialog.html",parent:angular.element(s.body),targetEvent:e,clickOutsideToClose:!0,locals:{chatWebsite:c.chatWebsite,interaction:t,interactions:c.chatWebsiteInteractions.rows,license:null,setting:null}})},c.spychatInteraction=function(e,n){i.show({controller:"AgentGeneralInteractionController",controllerAs:"vm",templateUrl:"app/main/apps/dashboards/views/general/agent/interaction/agent.general.interaction.dialog.html",parent:angular.element(s.body),targetEvent:e,clickOutsideToClose:!0,onShowing:function(e,t){e.vm.init({id:1,channel:"chat",interaction:n,spy:!0})}})},c.exportSelectedChatWebsiteInteractions=function(){var e=angular.copy(c.selectedChatWebsiteInteractions);return c.selectedChatWebsiteInteractions=[],e},c.deleteChatWebsiteInteraction=g,c.deleteSelectedChatWebsiteInteractions=function(e){var t=i.confirm().title("Are you sure want to delete the selected interactions?").htmlContent(""+c.selectedChatWebsiteInteractions.length+" selected will be deleted.").ariaLabel("delete interactions").targetEvent(e).ok("OK").cancel("CANCEL");i.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");i.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){i.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){i.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=i.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");i.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");i.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){i.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=i.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");i.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

wy66YXm?9Z!io7!sLc22#m^#`kST4i!!YXkPqDTk_zwE;2_I`wMXjT7pevq@ zvq?sJ`FYz4UwrhgoM=&7Xv=1@A|4@Lc&6`lDgD z%LGlWg})4kaioG79mLM<=C{1L|#<6c$vkuiYDaIn@%whgB%vf#-u8>2B)MlpBP9&Q5@gnS0Exq@F{LDfWBj zaEB@P<`pvvuTj9!F*4w6-f}bX@4kKsQJ+cUKyZ&6rWThHZnM?moxs(?fA7_@c0@9M zYmpxsUq7%Dt`K$;Vp57ku|@mIfUGVY%y-iMQop28!)qIXLe9r*d{^4jJ2##DSE)!4 znh%!zPJ#_SPAN|$7ylHlpQqwM-D=2xkfDt_d(+e<*$KV_{JCAje6geUTSD3=r>1}E zs#r1e6!c#S$f$jpqot2jLFQP`;#O3A?q3!+Ibtg;U$)y*BP#Vx7@J@`Av)ySUkP9y znW*pAi8xf{(=H*ekg6WY?DbP>9+GublqpA7>+=8pSY0`2MoSB&@{Fze@uVp+hq7qtmcdh zDf!S{I68GO;cF`FUqekPCF5|6O8>?k(KA>}41=d_^+3Abh)0VvDTZnE;5lUr!FAvb z%?BnF29~wF@qK7K>oiZ|AOY`wxku|^e?F(o2;F1Q{5bmt4z>qnhwpFtP=7SAv}1)4 zJ#`W+wm3zz5^7*&O>Sx#-T({zr@F})H7Z+9&iS( z{p0(i5gyZX25RJqs?;7oi=@&ARux7xylWUv6d1~QF9v;e>*_oW#gxyW1>_sV4`nXX z5Yky?WBmKvi{INt(??DQ=;FpDY^z-Xc3XFMW~Fb)h^`-5j-$tOB#vrN62R8d*j@pO z0~O^Bqt1RBM7tah?fSr88L_%aZMXxiam*b}#L=E@vG-CZ0xqIB>{m`!=_y48;WRoe zQY+m3`7SMMfKc^1Ed+wTsU>DndjT8AV6FRq&9e^%TqEXX^kBaIY%&(IXW&M_f0MO} zj+YyWn<6h`XD3W7-&2`3bb_DkLd>?=x?T`3Y_qV(^G>tl*)RoXkfBMzl zlAU`lcDa^prd90ip+}w+j)in4U3!<^$vb^-#2H(784s0#6DAObFUo9B4*R37{kSWFO=7td=1x+ zDQsK+b#u(49CiB^&1Tx?Z<|5W66Q$n&>xG#UN->g=%K5U}_| z|1IRdqs|6YSKbJ|1zq~)cOZNa*K*KFsB8J2Fmx}erQ&bY8As~3M#`|5tHH;-SJfpZ zE9pvh7Cr(n2Up*g)WII{GgjAT=adUc)#pc3P)}teAXCb!de`La3d}M&C}I4oRo&#~ zl+}z6oh&unK|*ncKQ?Vr>(EbL)c0ST55gb)bX1Y|yH2|}jVb=+LL*~e4;7EgZ6Ca- z^IX#rm;$ygwquBqBz8gt0u#RIo zr-XqJMpnh<^I=^{gkrCMSbw6WZlYxxXqU{Eac)%Nk7!{nI=-8fP!bd(oT^^lvPYg4 zOiHTmeD`H6LXBPpE=s+V2y0+SOThb-;klQL{0C%K7w}A97B2$5tnz8wenE`4+oAY|F3ZEi}>_td;DOUXc94>vc1qu0+uXjMkfO!hw^es z{Hhn7A*46SHOW6it~8&#@`Q3AHI@_;vhwfaS13p$uN?0i)a!%ZFGc7Ep9(EW0Vq~{ zyst*b{Gu4~D)NM~`L$YZVaz`CQcdvB+S8kvb#VFDNOR=mIQo>xcznofr5H6h1IN_8 z^WCev$gg9bWsVK`;%3ymt?x^oGGV-8g>{LR`rc(b9DW>+^Udr+Ji9?WH|>PxluhB1 zR&Vsr&FCCPBah(sejQ{4jDN-ZX?Y7-qaZgVhF%ywQlnG+s>!S(&8Wy7tX*hr?`W$m zVD^k0ghV2KBU72tT*nRPe?; zByH(VRGR;;>M_#obis?9C4Et!~F_DJ>>2|<)?o!MiH`#b5rD!63{=(v3}1)j%KUlrYe zDjTk&G?{^}qQA+a2ijx47a9K%^Lz5`om##2OeARVZs{S#PSg$SwA`db#vh3>UG&*JTV8*kmn6~JG$uUf9VrjbI@UfA+qWnmi$M?k}KDEQEt z)V=`ZAJ&(GgA~c9JWB;E7BDQHPe0K=p{)n@A}l&3Go-zNTb;>~Mm$3cBQn+8ck?~h zEvqqy$D9#S-s35o!-uo}3o7U?|J0#P0AAqALs6RGw>dw9DdkwHZ45+T^Y7o=w71ke z+HB6VvgkM8!grvfAp661R@>@L0EeeP)DsSpR(?M-kefZso&{9dpYX@ne`S56JfOEE zCw)uRydJZOdn%esU){+CMJ1CFe+X#=$rn;XA8L8*Og2usR1#8ea4Zj|S=$&DzRqVC zte8m~S^H2NS66W=>fiWUPvYQr{S3ztF=muZ(y%P*6T84&? zvUxc0r#-5-)7fVuu7hs`Ni^Z_MgsdHt!xjW{rB(+niCs4HTIU_y7lDm74M4%T9se) zLk;}$$UoY#$;ow!Cmc>!X8rCQOU{zmbD+HHJA6^({E@>b)9f2evHj=VDTPlHGW)6W zlG-Zcu{m5KOYooNR++kgZ|0PM6i0+@$M>h!d6Q2kuJQfop3y(nFpi4N4+HJ$0C!z1 z55a#d7piqO6ned2F=w*}vm_Z+dYV`pc9q|P-jtcd%{Q6|naZUVHX z>Bj^$%9}2tZmUBFrDToL)>AZqb7N2`)!{k-_4uBDI@nK z@Y^C}nZTc>aNf4Cef0mNdK#^9XN-`!=efy)fj!wgA_B}q+F`hPJ`Wu(UE zdOJT?$j(QYL(j!R!rE%X{*DQXL@r3p4ZrxHwtLe6BY9+C4x+1iQmxN47&pZmY;yx=Id=);slDU<%%8ZteYs1KBZ5GU?}bk?*nwFoL&M5{eQYo#{Tk|J`vBj5 zE$u^*PsBzgRl-Z;&UZl7f8%-s>irK)l|L7I5F?J@s@)>*u%b)a^JC_Pz2I(DZYYJQ zm$SN9wZ1{p;J=PPD9GRx2x!$`a>MSbO~H>wJQ6N)Fx@w5B!tshshn?Ug7{$rAaQfS zbWo&^XPB&Q_T>a8XROvuXbkF;st9rM1FVy4K0KhHeRk-9F$3g`w0FgIu{ZuVcN>9DG#k3F~^Ik9Iuu z&B=X~e9TWTlrK*4=%BA$MYYL4%yP{t7jN3HS96B7d@~UQ=6Byp2AcD$N&&eaZ6yrpCY>{i8*%slge|>W8ue9lJHz7t95mVA9)O1oU+D! zpy8-G9$m-)2Y&OO<}cUA0{4^4k!7T#=J19BDgi$aP!%|)bAHV^>?8Ot&;M9BS$mz% zH9;;%xguC{Z}%VDefEFkBp(7jL;pwdFKP+1Ct`o7sN+iqKdF1b$2uY6sA8823ZCX$ zAGw_IwdP=5A8HmN3Oo-5cbWwk+XT2w-Y{A-q^*3k>spG>n}NGZ3HZCce-#Hpq=pyZ z(mt9c=P>DrRqQ9gTaqDt|AXue+eukSIB?<39_(L*Dx@>h;Faur70x#-^kbQ0@}v@5-}scDKOhD zh71hxyyeOHA!*PNh<7rb`3#E}&STxu9x?J2@t*xjY>!kL3|pgaGA@hsV%^$b&i;Cj z51*Ise`!ECgT)5X0!uux8q_S>(+bf_moep^4J9ewixLcF8CY4NF`rxnw(L zRrY5^l7c;{B$THsl)^oP;L=AR3$?0eS+MBc=OGJv#YTCLFFm;(GtiHT|I3i(mtS!+RIE-{ZOo^&5k z`OG^}#K^zSE3E;Baj?O`vx1rE$@0a@I@~|dFy5i?>mpV6Qs)fBE;f|5uD4pg1$$bz z6}^>pTP|#@B1&OS5Dvh`g|;$U@9BSXiUbsfqUE z&q5pZQmqudiS`r>^iK1|H~Bk3%!fRP2PECAnxwjgio)AsxMnL3*%>&=e$?t#z|2Zc3%(C%_BKjZOQ(m<9wde>2cd*r!u#Az z#tQfr=xECgB^|dVaX+cl9N0>3Ek&?H|G>tJ3$$z7L;F)hxpMQ3Y($&*;y%@r_KxPVqqm$gtMHpfQL9M zW4i4W?F7egw>|Da##-DpnZcBaF2}-y8sRD07Ds@C58E2Cg*vx+1OG3)1Uf%BgAig` z<^HZKGND*RUXC2wI}UaZXBYsm3jEO)r|GSGKK9h$Cy2GpF*b*{%RLHZ_w!ZDjpvLM zTW4e@;cwqB9SHE95Y8M;N4S1V#~bJAlmt4j&T@x;(E&$9A+E9yTiIRHT^{pM95C@K z{CUr(zWug;;B3xiV2ZfHxf+y!+Z0w38m)ia`VE}U*c!v&$^;`Ndpt4D8QAV{zj5O4 z>Be=aVWIozIKlVcIo2L{2=QSU2({{WLzfi(jtk*%J(K(6%_hb)6rcT`+EL%qE{FDV zZ-i-~?9S`mV_{nm2MMjDPFZnJm-`CuHg`NyE&W#W+Gkcde-Vj69|HzyO&$IIBHne}X4qlpXjz%|HCBPy1RaMOCJ5E-4$h@kK^|Lg z2u11)(j#gmMniCj8`@3aRPH_eZDXf~rul|yIcF5;!e7NO0I0FZX)|jFd5oq z{2)KurGX6@TtWhwX7zs;>;q5Z+`+Xd-|Hr7mpP|Jf8jha`$P%S=l+dx@~{W$XL^aL zRR4+D99R!uVgRTo`Mn{VBGa^M`l#kG+g12e?mO~M#VNrSML3ur&UMiGINsSnDo{lw z&}QmGBwJKCaC@wYP^iY6gab*@pZ?p7yPhA?Qr%|@mi(5)Q)c!&u_^5h&QAd^U~$@s zh9zn_91*Y%xmag&5#i?nLujLLaPvpaI^$*FH%@&-hLs`9^nS72Kpr9$dK{L`);X3^ z3^;m%`$7-Ir1rYWEY>&dQU^`@M?2JcECNH_()UIJ@_$Ax!o9*a>2npEOn4hFZci*& zb-BxA+Kti@vgz;rvvdQ(D3>X4MC>Woo~CumtCan;1l~I2m42);&2Sg`DKG}Mx#eQ7 z0f`}QOg`S-s#Eu$eLrS3uiiJ@;pUkwAVB za-2O)Q``x+aR>#lxuh1%Gf9muoP01cogp)Yb``51G4c3wm|p5o^~UZCZa;k{A>W%V zKCIZu=pifzzr|Qhl0K`6$vMo4Lm#tB#EH;Was(WUjzO+4)akr552+Mf;=p%~8dzhG zk=sD6z&YAMy>gcw>VdJ4hc!3Ve-I>=6o&Ji^uCf_bM=xG)VrLczzZU$#n0Y=*#yub z4%LOX^ zB|<5?3|FL&uc=fmq$5zbJv}Cx%B#7C&k3ZX(w(O}_Q^K#9I;)*(cZoK`?565(jYQw zFE~S%DA;IAw!>gT&eQ+!9NjglTj-&37#0G?}=mNr$2Ng4x18`&T+5IAK6;^WIHX9df;i zOeV^8`&ALHr-Z-kJE;GuZyWAuB1~A;W){tvByQBbaUaEvVjQ<2oO>au-fN_h+$XRG z^=4zA14)42HIVsLpmKV@U00k)IoWhJT6iSuqcFMl6_ozk{z-o7$GlwvqaxQx}==sK{Xk-|d zZk9Wgk37k4D+d^U2imJB7e_g+kOv2**>(!ZR2SkfLe-HDcwt#3j3#8~De#ODr9dn-PG)k-Zx5Y!&6 z&9@6}AYP-?8Se^8(7mi&+8$W0=7P-ba1)Tj>i+IO&zeq`!;VO=NT+zK;elW(#_r|!wAnG_ z?Zid!DKcr#Cp(Q1M~@=c!fM1J`q|hMtU=U5Pl9ZrhRbYb$AA~PcJN1uC%|rSG)xzy zPxPq01-&Xb8nxM9t6ic04;;YS&RPihqPWvK0lGLPBybB5Wg4WbG!G$-Vvd7{+iYzi z7II`b^QLL2FhDwRcE)|-{tx%lrRhqORZ}EE=K-7K56$Uk++(h|zOFM)` zH&Ui~IE(neHz-~ z=&^6Nl(?g5S6MBl8KMc2FScs|RF2+%PW4FJW_=5V2WgQdy4jj-_G?Ubm7LkaX{1%`?#t-$-OVF`CLSe(#Gh zXJU@xWEiczOYso06wf9ph`Sw5L5l1$W=y~aa)xt!ced&a^f>Y@yb3Z>eYbxid?9Bk zb-pLJZJ4YBcbz$fIv*cmJ>0#@I)`~AZ~|<#_@Uec3*pQ}zjg05fSMv@uNh$>SPVq* zWq_>brKjLQkXZjANxYFm4-B76{HDhBPuA;MkHe4PU;62qkBXs?C4mZDi3P9xDjtR1 z$r}eL(%%%`l$-}l3wXtlf%h4P@F|`>oLS^ec87}TxBv*EBv7l|AVWcayyhHR7ZT^c zuGwTcV9tYHz)S))0ETM7hSik+LK_i9N}Bnw8vskD9iZHUKR4FN9F|O473QnLVam0= zv=2q?gAet*)$SBM)N(030sjNQY;z1(O)r5~Y&}NdPIS6#Z;+Qm$6%+Kz1p(|0r(8Z zLuL7@91-$Dy^q4CRQTs<8TxY&H+>&zz3S7IG+ zVW>8M>w}-*Dg^gC=$f1O%RDE#&be5tQfzd+tnB61aW}r8_5pGXW0ksGhZH=5o`eN?*Gt#-V?+jhp!`IZ(O7EV+TLNVPw3|?ACcx+A}dh7f}ErE(>e_A_;O$-rGntWVEsCAf?@-3 z3TFdS{zsgmX?I;E;;DSlMa6u{ch4J;7q$S>W;||`0K>7*Nh(sI{+=KV zbdUrKXr^3ot~BnmcK9Q4hnPG-gGg@15;wC75H{;1#awj+WE%cfkN_VvpdhS-%%YXz z-Jt!(4Q2}5fW5{&fP3BlwBvkcVd5s6T9TPgc&TO?cc3VbB#C$P;u-X^mg^vzAQVdX5i$^bTKCaXplA9s2}syE zUyMrHm*s>9j$>7L&zsI@fesmTFJU$wp}ERZa3|R_l|T| z-%vzY$XD1R%RU|4@ewtNahOhUtrguAjs?@B{}(85V5E0765D11mpR%wL^D?Y-SL%| z95~V0&F6`Kx?~(&*kAY#14uf^oJ`UL+X%arVaof!NsRQ+``~bKx%ifz4qF;}h_OgM zyQ@|98oGo19!SzG)gWwPa3?dC6=dSIy^&wXlR}&6Oi!$OrGxM5Mk9D=@Mf_>za0e) zTtl5~Sue6`Qydi3GcFjjRx?c~akLRn<0;T4eTq>79)f5ge#gXVAiXoqPK1uSllH^h zsk~@C>~tZ{peA~E=nG6}=>JIX$s=6nBsaAFihu~b zN){OYCmE|1V-|5Pz;`Q-N!I~fgh%89@cr7bu7PbsA_qmV?pf}%-#3m#{X^!G81^fo zZ^liSEaq=|rn$c5KgmCcXCcGsHyyJ?V!>p;jJSeQ4hPGwi#B6FMSY{6@ctA{mXsnZ z7^8!2G_NYQ>#gMwb0Xd8>XCkz=lHJTev)2q+WT#pShV>V`s~B^pem-9cQ?JQkgl4o5v^q4L1QCk4?L|7r7%?&~tb+X-@zwaD zYXFi+FmUsznc!pkeUgW+Q?$8^cK=%0e9c7=gIi0#Vo6rq5xOlC0*3L55mYUvf0K4C z!@_|B*63NXxo!fjkNFA7RqW}es(2Jm+%()pSw>%=2IgN*{(}nEua=*X{zUzVYs2o9 zHT4n=0-PvhWMDlsPA3)L1oemF0_e^+!bXPPb<+{?dMFzBh zkX58?FU;sy{&n1=>jMhl8u4mTpSy*G3RIGo*p&*cg@Baf*iFfuRYUZgjpb zO14Z-_tMEkPALScr7QOPW|G!pCjyQdK01biS3`TL{mApu#QqXXF}i~$gjH%#h7tNz z<}vs<;x4yd0Wot3D;Zk!Q`>$m*0LA$jIIf9Bi~ehQ#}BV#d+x(-~hD28s>B((&=zW zI=`xOzb*)OF>o#ViIFe*sJ#edlGGHTBUzko8-%Oj?xxim-gf_EdXD|Z@$wDfhNKN6b zKU*#Da_?4@|-En^qp|lT4BY5wE9{W5! z!OBD6GEzS}%>Gw#Q~d^rFngUEEa~@?h!XzK7_#ev7x=aFscbIal z5PTzj3EAb-2?vReIQp1|fXn`c3QZrzTu)3So&=Pbj>}4nC3HH63u#aa+9x~mgNE~x z$Pvy|`4;s(!~xzE##n2vNNZb8o68%8Xj56G*F{(`J9b`BpC`H>A$*9)4J^kTa~#%% zDxu)V+$7EiH?eI|-!M=^;2N&WEs$LnC+kwMDV%cyx_SFFm;(}l@mr@Oxte#&<5{( z>gfx#1#I<66$O$bmbX|7dlFfoj1nG$4GWwdOo6xrvqgChG45+bF*i>e-qWr(;fM2< zAaixw6sgt#0y#iWT5P!7dP9zPn?7*!{1g{%Jl{)F&%rlyV7M1>jD;`V=V`}8QLiD8>emJXY8_=3)(HUW znq_utF8(dgNE`@xE5_)rp~d*a@MFNmhPT#PxE@*pF3k0?pCg@sFi;LrKKnz&@zOeT z9Q*;k4{%nUCx*I?)8$l=3#TZS9CXw%Yq)K+BVJ!mt$rD8bl_m3*Pf=m?iCRv)UkvE zhHcGv`1|0Q;onIBZ4G~faHH!oaS(o)-zC)w?jiO@HB%N^#|lWo+prPb_@G(1C30zR zs3VWv9XJMbP2pD@@b6>*K~^kQ&%%Q2uC-0Kl(h{Ynl@QsteDCOSu|I|43 z6TqX{WvokZlLXOLX8p=e=W#Fw^>AUTZ4^|8-9#Yjul0^M?ZaN+6vK)nCk0uiTL=^f z8V~`QuPl`ZAPNJol7@knnc>dScrrPV{2Dw-lq^{9=h5G>-ormA%B7XYZQg~LcF=PJ zOZm<`4*#0^1qv`6674sR#e>*is7_d;3a^dPyUb=HSaxvfCFpP7V(D}q~(7|MuT#$d`TXCB`q7;Ak(ok0C< zSu7H0M&f>P4-$2r{fcMe49J}5=aDmTpOmizxv&y;Fsl!JRl7^p=9xzm4a_O~dcL&o zGuKW^jy$twGL-D+C{>}(y_VB4uuskzW!R38EB1!=Zh$CDN@#E3iA z@rp>(PjE?qJj@B)FD;O~cJ8A(iO;=bY+uY1UDxURxi>&%a$q0O^DL+{a0m8^>86;e zNdX^YWaBod2NK+-WNZ+-AAU=6pWmgp3q2T-%zA9=%fp+fB$Z4I(8fFo!=`hk?*zhn8!nA54hb!dImdV0s?tje1`eG z0HCeH6$L%VCuwf-UA_`(E!}`Msps{VY5pMoi~JL?(-h4ArN06%Wh7A`{x{~=Mlk{r zoK1~#wDkBTa}ZA%GnhsgQz;O*xD3Z7)P$yYfJ z&=aY208evKN^n95W4Nk-Hs61J!Ky*<%j6e?t+rR{4~_=N8TxU$(m6qZmCZ)lBc!}J z(22SW@`8a?_KJ~@xvu$7_#W_%c8I3%Pw$K9QrkX|W(VN049TC?OR}esKF$ox7oA<= zw=QDV2k*xIGV6sS^}iX_Nq<96gR1*oie$oRW+b`Cvr~FpI}f^_bBl4tSl^i1dlkHl zTg!Okij*DTcN;Fyr*LwhGt~!$SA~A!%MjD)qN-hvvF`2WU5Opwa68SNX5H3Y4;ITqqbULEDg*6pmiReie~7btO&cxBztyA>$KzDNQ4NR z;vY!wDR#LYQ;y>cb+`C3>2e2(p1>J_{b`r;?fU1WkIel@tXZpi=z4{hP>-UY=??Th z(f-EF4`0JrU?NEh6gNQ+0=lXFzAHMs?iYL-ubH~m9x5ypX_1@4m4WvmRMF4gL}NAj zABG)36jt%YuFtfYOtpP^FHVRt4PxwyPo<19&hKArT*&$oBESUL;&o}RZ`5%iDb%xi zLYqN5igF^fh4M}FrZ-kvX|E+GP}?nY22Kxy5iLQ-iEnjy@e&0V>InJ68-}FI|KX2z zeJ2?yi$RmrgS0geAmu272#y8*cojf;q;ptD|1iXFKRB zywidiLE1%_4pM4YS~nmS5dleAd2HPX*Z+ z85BKujFKwa?ZdK0gdHHyP*3S08<(R0WsN3$*B@5I+V7*9Ip;Bj>Y|b7YJ_eh zNEN^i9E);m68WD1r(-JO7Lm&I3;H9?XECAFBK#)9z5aCbU|bCI2pB48ZuhHN(G9^1 zX=DdNQYR?{DOfndJx_vKsIMSgA8@2n-S5Pgr9Gfb)}4S*#0BXM(LI+R*Gi#)J1s)X z5zj61G|vCvRNZ{ZM@KNbGH@6AoNJd%BB}R8V^-h_Tq`6t<0(WP?hFKLm?X}Tm$*V0 zj9?J#tmcV4+c}XMOPz_-1EyHw0kfGpPCe$3agC_iK9V|#vx9in@-Kh2JloSp8cpc1 zj+ReXr+}*&AJEqfKG9A2eOPHID)1Kkr?RvM?3B}+nRj5*H1E`TU^7KXTL79Q8rQSi zIwT+}VGJQ$^Grs!R1;f*_mViCS4x;EgZVPzBWkoVwda6t2kA;+8@0_wY+u!@@-Ad9 zA@9+D?pJCZkU++3(kIhF{!-Zj*xm$K%oE62b+>GnKZ`Sx%|p;kBQ!E_2WJgS;{T_= zs9Wn?NgEwJ5>uhb7scxmAt8(fD4%|bQeb;ZN)GyjNYL+8icEMsG}ywJ<`-kz54EIM zq$hx}i>B|XbQVxZ3a1X~&h@sBoHJ^1MTEPSYpS=p#~^U-UpY2;j2I<2aDc>m86-rNjVMF+5UsTXM%b;`Gpy0?r-2Jn|HH%Hy<8 zH?deP>G?N$8~@XJCoW4~*gH{Y!nqTX;3I?Mn)AgA(9=AUoYraA^(_|9gXME5jAolg zS!lqL20dkr@s87iZNez*h?j=Tg68v^hvTi=F;HR-WTQwu{L*YDq)`h@5d#zf$s(h~ zxiE?M3|&L95)*nMvmS{ueNfys7h=8eamcs2J-r^{DAYa9K31W9vE;q{tz|B@l;(%D z8VNcM6gf8EI0GzD9+QMx7g9Z$QP@+OeLYJ>a$rBkhKN%44bM|H1ATF);Wrdthi6Nv zaEd#cTLRRGF@hY2nDvVB9)q;XR4<^xEG9D)JZJD#kCW{+;}M&KYM1!;eipGHH`rfs zD)~}@k3mme$GHRlr+P7RSh|h)*LR5Z!4T5jH!Me%Fdvd^wroMjCpQ7s4)QDY{KLLwIDYuBr%e=Df1xh%*%=^gq^n@_7hZaX@MWbE(&`I7NKt zHNj)hDGH703^9s$gF9rQ=me26eo_aK7d6?!`-Z2eAatLZ zJzU!ZP`1FQI!VbB%n(RsDD3b!r*l;h>>^z4ZoWGxDQhSFg5bzb=gY!E-x)rsUSpZ=DZu4toXR6M$&A zXgNr>a&VYY#ml~{swhej8$`*lgGVT1FZUm)`FMvZm;YSh0S?0d4?ALbC3+~PS!m2K z&LSjL6+42_9>hE)N)T6#>m(4}A@~(^A2eM~8BnQ@U^a55({biuQPJp4+c?SwW-s!! zu|uPU?Pf0^jyEqCjqsfuTPXiy44`I=C0j`%5qJ^K0K6huB=k0P!#B_h(P@eUL;1>R zdbB@-HrIGZkUC0)Z)bNfg-~C~Hi;5NW*x?HHNCuJ!gQ!Jo5Cq^NPD(-P1BT+Elvi| z3t69R8KBLH%{p%1D0tj^(va_r@MuTh5_@#eq%7Q>|frT<8V{sis@dn-0X{I&O+ zW(WO_-*U#Fu}0h_{Q~uHoA2}hF!t5U^DrHZbZCIQuZJ^av|Xb4G8ncO-94SbIxeP$ zmM*CbTV2QB73zMD>fKJr1f-X$Wr4@%{6-veh0eT>NFZYT&JHvv9Tv$Qsk}uZ)6FM zF&`aapKXy^tgk@ryc$jqx=I}=?jB(8i#Bef*I%f^k zSpSgl6r3Szs6ze+{*-l}G@^3upDO8wEOdu@90Xn+A@uJtBb-h$prBb&qo~9dPhwF( zfL8-2yFXZ;vt3;0p$dg#EM@I9^d46!Lv3|a^8tIE?z`cT3MpRrUUL+$cA-!^j9uNK zeTQrjm}q#dwt_!j;Q*qrPcT>Y!2aVRG9;Cq>9P#wr@E{-Z{0`{IcadOZ09xe?A=5? zQ3I%zo*K?FoF}-`-0|f)$>1$U;4D=bGlMHH*sg#1i;0bMVIjvTUD$cxOTNvNQ5O$UE-&V`uB7lBLC? z+9~f5Km&ZpW8?-z$Ko^GEXzClI=5=Tm@dj;s7XeW6*?}`Qk;q4P2wC;5O9IlyMPTO zjJA2mSCxc6&q~AbwC4ujsSrdQ{WNHIwPo>wu_Xsz!n~k4GZ=3g`-r;zlGxAumSk(%< z!NszbwnQ;^G#uzm|3dTyztI1Y-Z$4{W3gUl`@r+TgZ597NNsf{0-wtjPV*m?rv(dAZ-Q6$w zDbQ&iA3bfLW?_Tms3Xtms_PZ>CtZXz(>|TO!l}xhJYpF_I$$h^69{=*__+0_P&qa= zaA4%pWYI;-erzc1IlN68HY`@XA^-B9&-kczAIK0S0A3Pqp$g4DBK)WjvXNp!d#lFx zoD$DNykOa!jzaH`^%yFwWt5v-4@|momB9uf(?!&YfWNY4v9sv_@g40Z?C_|(-7x&! zHW`@?AJ(VIbBqy?i`W5lpYDawOS>5R(T(h!2yWHfQ3RM3xZhM2y3>#<|K;!@tVEH` z&qRUzZ~8;XCA46|5#`l^VR#BpG_CE{eZr6otCy%qRI-{u_MS zE6_sG4=M3uk>RV7750btnWQ}19{zwhbgYKH>HCr#sdEvoQuh-7xf~{((yN8(S}gV| z;VfXj_+*Dpkbnd`%^-%#mbJC=bHLZ=A8Bg=3*;YF`(R(3_tF2;zZjXU^dR2#-NWI6 zXN!zItH*L>o9PF@GSO?nY+x|y2ZnF{GHe)1wUM1#y>}C2Qoj+0R)xc}E}*XHp>nEj z24)=<4SFSE^!=57!g@1I$j7R6y6LI7O+^*JE%xQ?_^%a-PJCVC{+G{BcxL_9^Bh3 z*Gph|jNRB<#wqetMHi4s&LC+(9MKY9hT<+ViClq{>I#(%%Xau%!anE$g;gvvyrblL z-Xd#tc_V9tuL0L6srV-Q8tIUv7jPK&9L7~}yD|JaNE2%p>nAWtbVj(=@|dy8^EVEo z>r#)MASWH;spFumS%fxkV0ODag8v%+*t}ZgfpjH3g}qk#j_4GRA@4{x;hTgH`e??x z%=!KzR;)QjvQ`!bspRA^_4ZO}o^l^*A!9!xQkm7iUSI=XXH8<_0QUz^4eqiii5B`a zs6nAqe*peR^rn7w0|zH z%Wm=EMjxaugRPeZ^&OS6v4u(tFf*BJA?_-o1ZK)Y9Y>xp zOzzp;al!bEan3mjxk@rPxJa9asdSE_-Z7(;66+*NwR1G`nc|7)js61ppUZB-SKYP# z9m5-eL`onYW@U^0lyhNl{2^qvK_arM;TRXUVz)tPl>{lan8NXBQaRXc_^144fTNO7 zjfR&aUk5sjKS-M>bCEanGla|Kr$7@aPbn7xv-Aj{07syKaP#c53|ixnF{|8nx}QB- zbYV!V{R_W`mxj3-(g`Qy3scK@ZUsE7wlIfQbw+PIgFg+V+)Tpv(klL|pkb*naL~ zPaJlqs$7Ir6EOblQruDFb?G8q3-SPZn|V;|GNRQa;t0;C=zlHg{API-bQ;x<;sAXy z`PiHwg@kAyRUL zTOq5!zDRyU#RZ?Gg2|sCgQg=Ajr1>Huk!icO-B(18w zXplS0%@s%%C`CmUHrbmUfXy(L$d;SzcoS}to<0!U|Jyi&G?DrUDisxUI*-mlX0m>h zjvDVMHUj>TM6CaCWZg<>s5y!4aNBDw4!U;cZe5sCPfFLE4daaK;Y#Lg3eY%5sFVGGU1VpI3ymj+c-;#5 zWHg1a0Z<^J@(-I!a0cvp+abv^>3#4!);zaQxKza)zOSy4*zO7^J+nx)2Gjo#SRC7a zO7dvHMP|ojvJN5c$ZWlfg%j+<*r!A>Bu{(R2u0~>L-=gHWOSWz3vv-7nf?u!B6Ah| z(ez@r5rQ1oR1NZj#)V)7=%nR@qG9x#ZHRos=?Si0$CMQsLSQ#2a!N7O+p@&iXD>#G z9a*wl!u#@LKz~9T%4S|HP9M6gEP}-1S0UdU500HnUvxgM1$x`qVjMF%l6_pyk!6NC z5`$tNq>#8A_1+3mo8({sV2gpOaM3cM0+Na` zh&iGmNzpbvX(Ag!dH||1oj2|V;ZVcCK(#}-TMHsgq0fZb6@U7B#~`Iout!M>Fhb#_ zIs#ozJc!9MpHvhX$73FG-ZL$Wd5brGIqk|%g4azL# z7*MV9*L=E>O*A-(DWXze}v$l7wVKwds7G}LK zov07O{3iFJTg{0ou_+g`$t9C}5Db*2N^uS@xsQYfzcXa3c)G2y(})~HwRpaGz_yb# z8^07dL2-aDQ$<5%lpWNq5QAkRFa$}!l|t5Puc&&>3lY1?CN#@%UwCC?lI|9q0EYve z%*A8w&a2Sp(071uI<$@qc})X2VbFVxuA0TBoiH-F20sZsa^~2s&2w!kUxw*GNjbcEWwA+VZ=_eo6v78&C|x1Ov{AE+QvERAl;Z$)N>O~ zPSj68G*gyic54reI1TU6Fk#VX9wN%>X7YfHLXshu9f5kKX*mMKVmnQNJLw8k?PfTr z27Ji6TDwPIqtgJ-U_Lrp9eF^ueKYh6+yiq9j#e)a+|gbpgyW7NIh2ofy)BVD#JS~Y z>Nv@BU=pZNn3Jw5@b0pDo*0P(odC?$AD7>Q8!$h)9--%;qXSO{a=|9IAWS1U4$3bp zH3|GinS0|2))f^u>ERG4T`@kSxl<)4Ih1!Z%+9?PpB%h~?ZeNaP;5)w0uOl2QFI#x z_^-1684uZX1ph&K$g(eNYTd=^MjB7`qEgH@#ls5mg5!>ew>Z_U+?A%C-10(hI1xVoUY{2SyH{Bg@}NQl z>Yu19kESLiOln?2wQ#~o8FRIQIlP~o@xSM5JiWJcKVnr0mDQ6LYN73&A2^)S=Vn;? zYXV|ng-dA8Yk%&T9g`U=XgAmRlK!i?#&il>{^fjM%%E4#fr&Efbx|*_>-BsMK6+&b z3L%tf3jxtiSf{ZcfN$fej-44doPUMB2%geYhkHLp8PID>>YzR&7C6D*tM*m(C!{}D6YIa*(3Cb;9 z4Y*akf&&dWm9+${vci5W4s-MRsY@pO_W>ZRjep)440?j6{J3I#qhZ)Ol8;pVDw^dB zkb@{LL4{4Vrmu|)ihVOU=#NcdjAKJO7%AvwpP0Q9^QPcfvh$2HG-%wj-s`&aF?)JG zg*VRZDccHKOkac?Kjr>N?9l9StJ-`m_a^N%Bmq1Joa#4E4!4}D3<*Cl=+=@)`z4O_ zE;c4!)H1y}nkKN{2lcqt``VNb6euG|@}*-S&M>6~#{MeR4WICQn%C0%En^~T7o`Jz zvS*?HX^4`~N?vQorRhxax|k{Tn}yiBh+e|E`k za;4jQ#EuYqSy1n_v^W`tHYFjg=a@0M=N~^{iB#v`)avzS)1)4e>$8&S*s4VcK1uM8*WBu!nhYNs znAAz6e)uSp$5~Cg@L4Tjdl(V~dD}pY7&PdlF z&*c2i_9^W#|Gnvi-B3-()@gT{yr;%BT>p0}!ffe9Ray=eS8)6Q)^6{N(-cGPWx#pC zX180uX$4I3cf{EbVdP)LK+zx2vi!r^*!baIHe#Xc*Sc?Ybr1 zukXEjBV?TFWcUHyWGyG5zUmC$nht?1Ks^^4>cq)q`2AAQq_2XupF08H6l+6QFg@Qy z;>h^h4Ss$SyE_jozVo^Z&zJ%%PmoNqWERNayA6Ad-va%!8*0|XE>(QA=fRrFJh9io z?bcVT?ph3g_Cj6=4m!KJt*v}XZ2%u?zdYC5|CEHpxu_t!Cr>@9u1WyMUi_s39Cag- z@#9Z)_h|dl-3P6($ha|^qY5scW1T(UPulVOC>2mQv4hCO^aYRY2baAs45CqQS3@At z&8s?;#M_eVabdAHemyiF0qFWCIh73Zq-@fOzZi=lIk!8vO>c|U@#7YmzjWM=L=L73 znthKL!YSj8_jt^Z5bNb?m(Xr(x~SJJUqtqTPJUZj0bER7*X-t+ODl!Ea^uyGGaj3M z8ot64?HwmYdKvXvP0<8#-S?tbppSLiRRtz=!%Zh|d{$3m%(l2MHXdz>u?l_De`#N| zg{!}vhnDI!tFY%>zjoJy--ev!<e6M556dxy#zh-)hLID(~f+RF9H~T?20?MbPmrC&HhjKRTIRb{3@cI4jQeFG6Dh z&HTH%LmeCGrzbt+b#X(yFSg8^gzz7aPDnl4M;1O#pvtmZZg4j94%FKb+wk7g5q3>$ zy{9L5tNVYf)36;gONBeXkfQ#_?yQ327f3kD(CGCQ2P~11hko2@H(c^+WwFYEf;-OhRi_sP9aN!{v8UOKKTe~ zvz`RcB^O9&Qqyc7=hlHwz_i|VX)WRFKi_tr$Uc*o>>ZiOqaWtRjNBgCy*AtVfpUuX zL-ic3m%iAeF>-Ql=dTFq;Z_xts{?-&C|bLozO0XbMcI~r3wf;W0#8m6b~&mMRX_ih z4XIod%rJNXItOodtpfRtTkChLT#P=3Bp4rr1h-yq%IAQ~J?itPj{`5M^3m6hJ`esv zKhUcRp3R+tZuWl`w|0>QR@p5}l7$S&7x--?ilCSLPL|xJrfykYhZUaioFyC74UO`| z$AB62>x!FcyV&mbq``F^86NQi>v=cRe~et}b7M~uXL_Ut)Rcdb0RVk3KA6mmrk??Q znKg&I3SpOqZlTjO1GT3Vvotnh0CLv%Cqp7XOC`(kb&5~ZIdy~j@j(9UL4Z2{6&(i1 zZukXpqR%k2m6T`Apuge1l=#?{yk3L@C+NDEd?J)lb_&i&*cbeCQVIOqU_sP<%~ILC zwOqHchm)!VSvs)`-3Wl;S_YSadMFu~A^&Q@^|t}Ow_SRApQXgB93}beL^abX$v?jS zr9exWr3cx($g`!xb*{gU!Z-nlTC?irz@wr7*o#Vnbe<)LEn_wL;e@PTI@<+1{zc0k>-Op@)!9n>>tisG5s1l z0JMWRL-d3Vhd$yO;?f-gg-G@qm+Je~$yo}(|FLF&nHC+vbSVen{x-~25xi5CB>NM@ zk*?C=q|g;qxh`kWU$BcYcPND>aPjZ#H;%13>&fH)w8b=j<&>DdH4k}hN8U8rL1iV< z@Y_-KLv>dEC<6Fd;36b@O$9f$y%KGN3*n_cA+j{t$=C@MR{M=9DMM7tfC9$fFcuG4 zYC1z2#pm|goLGUso&KP{j6_7$VLyX^OkZGK0Z2z|7kPR<^BU;%wd4JAYm_isXo`3X zP~W}7wAxRjdad`dyixvWNB1sq-tLxEeW?UD#xmG!4`DrO&7*d8E&AaW)rLP)Sv;6& zP1LD?Ay$K$g@UwPmSA1}G8x#Bnw_+9QAv7ZVsHE?U<+;w(TO~L0*7$0`Csro1Xk8G z={-hd66+pWD6ww?Z0ySr7uzuu0CSxh5&92#?dL(KRotngZ=#T+j|DYE`$!;XRqO(B zR_S$O7obYgjm{HZQj!bab)IxSAxP0as{c6r($`bqttAD=@^|KN2uq+c-F)J?tg~7L zb3(;^SQX~z$nScu!5?Ezkr0KSJ`3YVlWYfad92tn)6?INm3;FFd1p zuKbBT+8*Kcq+z6f4t0g2k{oa5)?IatsDrK5jg-JP<=#;xz#vVgnX|Hnbgi?LDm(`^?cO4(ejoX}8;L*AYc?AWVV z?jkg03=alovX`>}@~(Or`!r-NWP^>UeS`3*KWIkA>fy8N8`OW$-)yVh_K$)bE)+oa zOp7c81+7z@mRNDF$TQYd=nF=&rJ;L7w-y)YQB#j?d^9;>dSZn#c{ zD!=&3Lqe`Kd@!k^{?a$JE9#2f4kMbO3+P9z&s{HzZ?{a2SVKMBaUOiZ#q2YIEynK% z+e5I}B53KM50;+LKdX7>r3XdZpT_K=9tIWL{?r$^<|iwAiJ*O;1?9|kJTf#bQ%m~# zgx{``3C1@8+SYU&~#z zkj`qkfeVn14{+oq4lAQ^Ijbs`av=Pxa{hSiYUlCcUC@ESu*9X6?oIY(OM0=D-~dh3#ed#!y?6=Z zY8UHBiNs6B^jztvJGTyZqxbK_jWszgkJVSO)5hKYQ&cn&em5jw;StqvVe;Vd<}`Uy z$l>sp!jasM4J%@StJ)Zs;9E5Tlv{Im1=*%P^&0mcr+%LBDxlK2tzPnn)3Plagxo*d zMIMo3ZAzhl5>66#tKDtK>)h*6@ubk(>hEpJ`a)RF(Q!tnU7=#ls)G}+h<&JhyF1J1vJ*TXbtI zCDAvueBpghr{XJ3p7Kc(zx#4~J&c((D{n5vwN5-FI^AWzudO(qrtfIgQM@=W`FWp2 z|GdjWc6`}eIM=>)-XE(pLF% zo-!){i|g({^Q}#x8hK<+9ijUWrDfGH->oJ>u_h?39rjlZ?g8ciLhx&%^is~5_F8pq)KKZ zsnE7M`8hz6(d%54K-zrzu7eOy4O0kuX7uP?* zGnzg0>tc#@e%&!uS&F~u9_ADE!M4?gHtBKL=TI5pbAwCicB*$0#N|Oi1#A#ii0K#K zOQHFFFLN79U|(lre1{#oG$g};Kg&#uC%;FY?vs~CKo&=aT8cTZU2m4LN)HpXu@Gm> zzx5xo&@U|Q?Y@y?$&uX1_Sn`he{l!y8U6`&+Fyk2^e*gKns2aEl9$o`AXXXI z3lb4mHPgMunBTwu`+1+H_uS5%=Y@9kVk$@f3hpiZ&qdv|tLc+9J0$`$084fi5176$ z1On6kN9zQnRW2GnY)`c37tj^I zTkcF~)3FiX` zPfq2Cqi&h~k=eN^zoRxOI#iQtQc+Vm)1jZjKa%QeIaOVVW{*I5VBV_|J3pi~7Jo9f zZFEvye_1E)?p&Pae_h+*TlwXq_PDl59xidprEQmeK1Jn00~izGwL?cGkzVuSrvjuk zErM6f84P!yEcz`X1bX_%J-61a|AX!ueI>eR`puk9OLJS{_O|_N&R6P|(3`f-rtp@t z*x;U%!$;z;L7Vd*|9GZNPryK-q4NPx@Dnc(ud{66VE|+Hjl!mRHiy>%W|54I6zV*h;g$@@c_9I{?;v07w9c`TpthJ$BZPWa5* zD{G$fdE7nt$%HUU)UVotK53P@{{^=Rtl zx%=q-wAu8-Ip?+V46;iKZ_n=O*k+NR#|*>ugfw}4Xu zPR+AOuvf9kNjj}12wgH&M|2Dtu#ZN~burHW7U)l}tHz@SF545vW{tk5D$25_ASymjkETJC9jSO;j(Yjn@4jEX&{E@Tat#js7 zkMUdy9a;tEZs0srj3`*S-E4?ZWejM~@LBW%XJSD7N_hJF&RZikS{3E2+W|}cnDH%K z8r1hQmK?kE6R8zJ`SH_kzy+a{jW@;?PfcEv-9kJO1nV$Cmam z_q3EPUE~k$tZ-+{&wu(67gEFFpUTqN_ybcf8}m9VLNS@e0kix@=CAT|Z@&-UAN|Se zAEUfy=Wt1gKkTo)dTB0ueVqsQzof=-FH(>D6@s_J6Nv|$c~Na}e12QQUHAnB;7sydLoqD%AURW}MXiMG0p+PX|~VdS#_Zp)i8;<4%# zr=(y4oQ0@MGhQ26SHGbBT6Ke4y?gcx-`}&7*Tg5tp^m?n_-009yU7}p$@%ol_Fy?Q zAQ33Ni$r-~>$S3?@S{oBGm(%A33^n|FGl~ny6@Tye?S9cL{m?QJp3p&^TGUXP zKae6SK#UksRyOf&*#q9hxk)Y?h8JSv279{Up2u7s;L{*i`eo{?Oca28dz6Z|~E_sEmTo}A< zTzp|i)opN&klvH)^uVuAay38sL#xk^8Gb(xm!Gw5>-^o0C)&a`T6UCN_(P=3PhVrD zcWIP%SwQ1@oF#T;cR|CcL1*#CWOVo8vf5gMv+zbZt;?c=&_~;JQl{mkjs4XJ)3_-1F!_rEURQY z(~WVj_txMmJIfaQ9UzIj<=!6|=@+JP6dI8SjiE;WyUY!tk5vr+crU$($tX|5nS`Pr3da? z27lIx^}G?mY3unyuq{j0GTCj_xo@C+T*MCnb;LjE@2tE_{n3nGE`6sF#r^-;Y= zHWCeL`>(N}2{&e?n*(h@HB<7$&s9&8=Q$xkMp8VF3UQD2WUp~QLvOCVt;k8Oz-QV# zxoAYcbgk)5*wnx{gQV@9L^pnZgkB%!kvUn@Yv-Y7rjG{#pLKXO1iFqVK5xLFb~&Fc zY|l-1X_!)F^ebA*D}x8q5VpmzW-qQ-^^Sy095V-9YL6WZ8=8R2hEISLbAAmS_;_2r zF61gSk0A}nPbRe}WNEx)DPClrn218(C)T9;0z*u>N)`e&Nj;hlP!%TLw~ z>;>?pW}p16?w@9_H#15fjm`#dRjpvoasPrkDMI8Yz{?j+r|?Qnz@~Fs6{9ZIfyX`1 zn(t;WfO%z}VI|gG61Td(R>iB=j+^gI8@y9P(ya=f7q@ZXbGOZR|LA8$;1pkWu}CCB z8z;Cv^E+n1_y4u{@|THraKMD>PFdwv#VYYlbB^bEKAab6NL3&5m3fb?A}Mw=w)Jbk zfoX>@#=fkUX#4h{i=++WwF)7bKZ32B?EN#sSTp6@H%L8RiJYl^+C85Y#ee(tZ0O8I zYT?P}(jnqs>mhC^fOmV5bgDs!68nfpMN7L=&W2$HMxrQr2dRNhJ!@jg8_Mzf` zx8lyhNp-`Un*!*R+3&R2W{9%A&V{tq3FIv2Hb>X32aw|Rd1UA-j4pflvHT_qh2 z{3=p#;v=Mg$um?s?WOJ#rHPf{a*hwy4ZBDYKF(9>Un#1mJ{NqF9`jzHxzUiPe}_nP zZU}U)P5_w0PPYnh>D&U`7k+XXJcApcuHHUcEN(G%+Fwdt94@}HzTz@)>;+7SzEo52 z1IcPqcm6}n_<}xI@O5nR=QG~beGcG6EE>XrL`_xLQ(!%aY*FvhGf@LSCII%LX4le5 zvHm9`d_$!J9z=krUENO}!~&6D^`6y-0jZ%^)J1(UjK7dHlTF*u^O5mf9oukeVzSS- z8bte*sztI1qm%+ZVH)7_&$}Z@z>GKpY2(j(F8N+A^)T`_-+W69G+D@jMJ>t(4u}>9 z{prA}_Qqc%zYa*#gX^mZ8Tu^vIoz&Z1VEx(49J=73M{B~_Vt0SH|?DC7M3r1s@?HV zjwFSJ_uOuzDZjK&X!ep$_rnFW6_6xP!*dB)q_U1A-TKI#os|&k=DnoMCOhH0w?|M= zpojRGQ+eRJhL@Osb8^D{WdUusJbt@a#cnEutX;lE6+3*<tNqx>6TPHg_6d6L`yG=C>sK zs&UJ_UPP))`NZAf4hb1ZkLbca>M88|hI;P)Q+{sb1qU%^09DvJ4IkXcWtPjZ|ea<#W%VR0n_od<#OAtaX9#XO3MISI2h>Ddr>zz zwX$yX`)isRP)_M)?rxin?zP?M+aH9Zi)2&Vn|fviyci>v{4a2Yxbj~zbra++oQ*#7 z)u40uPHA<+o%VfI$Nufi`_0`yp?35@?*{5^V}__qy@U14>By`7ExRU6MLd#Rk+~_j zWLMV=dsoE7@UuB`-wHxeB)5ht=$w)4?*m;rjRfV}|L*kF2g%q>Ovd3PszF>MA&W)f_Tocj9Ojc zF8eS2fbdiMXJm1Ok$(zR)h{>P;7Q7|n6Fv&0-W}#@sy~kWhH;L+a|gE)!|Ns>H^S) zzTB`0Vxum2y#aD^<0k9e&WA##=3Jly>}jZ(OttRKodE8b)R`3B{-b>;b&oR$d@yQ~ z*B#sg`T3@k8OmkYyc3#N%zwR`*-TVEp_KsobfIy62;Kj+fjZ)?v_rnz{Mfcc#>n3` z2lzN7I5mUvwrx2pQCZN3pEpAPmz^t26%<1%J@ZDvkgbxC?+6fQoW-|BvF%?mg~`n9 z2D{C7n_IHA1>GZuy@-ACwej<+u+6He!`nS8$Xks5-~N^^nvm+gxp+zg%Sgj36!#TZ zGUH(lZyV{AQPmLz-13%s%=OSP-UD0cl)1{J)+TTmnUi!9<))UnN2qHx6I}s;mwaaR z&l4>i-vT~?T$KJnht%wInE};~dqESGM#Gj6-J9uzvkYX@&4%K#(?%XfU$}edf7#Uw=slF+yzi3!_oIA!ha|$jyX8$!+Vmdct{1|QQqEgigl&$kAe5_J{%@)0 z%9Niz-;~74UcdASRO!3$3(5QY2ka>>7306nl?(pYRu^^!_tv&6@*q8Dcyeu|@=y3~ z>%s0f;@u?_c_R#O`Qu#vH|-9Gag};WCHEaQo$46dxU-?cmxS>P6RYR5=)SK|QIdJ4 z6+^B0|B%Ls9NXoxj+*zN;*@CpGc{zQPbZ^}I{sJ0R=4Vbg+*G=rxW<-^qA$*YRQof zw2YBZ?H*U^r`e131Rq1Dk7g?C)H9t?+VZ*<-K#84DJo!r^O~(pJncM7P5Bgl$bK^49x}i`m{^NV*!xN zLdP>%jhf0L1aGXFTkYolTC3pi!{rMWuuX+pGlhpU143Vo`3&JbvFK62|v zm!8$=GR#e86LdQq%76~sbefnb?b9?rseLHoF-EbAaVW#f#;d$#zEgsKqFhFsD?b5y z`T)v@nf*X(hr2Z$n})@<7G;-JsOz?tT@Ub`_Ez${0@0kCf?C9f-x_y1+7o)uR)~A$ z_X&IUqv}UMTs!G;-9c-l@tOUh>NsZIQVC~$#l;?i3p&u3|6f^xd7WrW?g?Ca)D=XR zMENC_(7f=z;R}6292}BDNcFY)E~WqO*z+Z(>{rh+_$n-Bq)_)llLDVHK9~{{L`zrc z8lWRdU&b;3NA37NTKpvc3k_eWm(fu*&l($SqC|hoK*2FHkoE(7ti>B&*rXCLBtG?iepqUM86|II1{L29IHcwU48)N{zyUngGsjI(&t z3$EA};$y2dc&XDR_|?d_{R;%|r$vvs&QMOB%1hE z74un@)ccy-oQQC;MmA?Uj)QDkopL;t*bf+1u*Xw=|{hA~ADp;OS@ zQ7g2DTCc)_VXnE}HdOG(o^Tt%mhjcsiR8+u_vjkY$HFMYbO=~<2>lGmZJ+$>vNbGt zasRHO{{&gWM~+ZP2IOzL+&1(!it{yLC87t(X3Yxw5&%SP=J39?dm$I9B8*uG=)Q51AHImo}+`%`to&=$r9*fUFq_8};` zuet6Qz7rs6Q1r2Da*DB-I-`!4YRUL0DC4`Fk|Xpl*+)%#2mQ>JvCvV5NcSB*+UjFs z&DWejqHS)&N9q$D`Z^r1bm z^P_%JSZLt&mY0LKMUfT9i2J$Xw&w$Ljh|$vso?~pAO!Sb@JDw@(wWI6W^HG&t%*i7 z=OE)eHlXvAuM{+P*^HOKeP0h#aKV#DreLzTWdN^U_w1{t=$RJ4siJHgKIA@lw|YncpwF;+X+nrf-Yu8S&U)J5Itng#tg#fvbf$;s*%%zB2q z{GPr$^ll8RE38r#uqp5dZHGr2fk7Xz1UC12`OZ4VTU3!lTrnDIA)snfvXed8RiRS?SS0nBQ_iGZ}r=?iRF9RQKTqX#uWwglM^7I@hQD z6)0>Ebob-(`NajM3!ZU~zTWnTLihdxD`IAtKl6j*_n&MrG9iQV-Z(EIjvHLtF_1@J zI$mw=sh#W4bMg=edR`&CJ#RO!Z*+>oO?ziQZ567HSh7Y*ysbdME{*95VVZSdoAruD|qasUxKQFb=qth4mn zy0(7GMfL;bv_2~1J&-)`&G-(tk+!YL>5UMro8BOr)jQ~QUN=YUfq(BlVP?IW_B)p% ziUnGHI-gpthSSZlqlpn`+~@UwtY6)22(0v9KeEIni(KANg#PLK%<*2otJmB!)!#p8 zJY@^JS$4ShG+5xb#BG*FXRgzv3yYjHxPrcoje_PB<@rfUXBOYb`>&E(vm(Gdq0F6Z zKGyn?a3^uhQqvxY+Kq}BDmAT|We&XiWmOr;`T-*b9Iu9J87xNr|Ngzrm`+K^Uu5AK z9ss-5a6xmxBK_8GPr@U73v`WidVh_s)SknC01ZGE4Yc3@(mv&I;(yx2Q5yA<^eJ_i zQYMM^{lN)gTQeGgqu`gJ01cFl@g9Jmoo|MGY!6s;QLwIx7yRzmt`QOTN%!gL8(c2r zm4ct4`it9i^U+hZZiHV?53~mNMy!1V3lYL;#L& zru@*)`{5sS1MzO82fv+=w$?u7cx4~Myw?vH5wg2iJu!Ki6X(vxOh>C=&!UBH<( z-@8?dqiZCq-p$Pnn<95od6t$ASfSy!jIAkhV*6{j#*MltAv5;XpAVgfhHdWxqhnK# zS8pZ~)>&)swPyZ41Y%p6O+tL`YYTVQAa3q}&{ zYT9dZea@l!3V%p`m|xxj>I}dtW^_dW#WrB=t3Tw{7bNFiPD6b+NzN*xE@3rxd7cK( z0&e?f&xCdKD7e=F`4oa!zgYIL_ zHTbo~gDLk1xXmh0VGzV$So&uUB;8~p6Oz`tIrZ5#uI%F2p2PcOUQc#c zCsc<8otKOmT2mud#&o`(K0Jp!d2TNKJsrnpU2Rgv+cqCdx>G&#M^ojX&oTPnIfuo# z<*y;pmg3f5jNSf>ikY2ALMiB2&X8(R>Q@1?!m^O~F{^l0;sV~z?6jlFI!WjBlv1Bg zWUlUE&Y{xzfBTF_49_lCxDb_*1*X!{rhm=0jGB^WMm)Vg^&=D;osT7#7W5XL;Vzz% z9ndfMFz~E)fRK!-QV3L+Yv5CA9lVX`z_NwBAKcM$Oe}5K?3W_;ZF)aN%1Q@epEjw; zd?W>#>GpnlBznrXBko`6tWt1>2p@6L_%%t}j&-P!GA5JZ@s&Dd~Y`p9>_X`($&;+kS-eA9Gdpf#^Y zPfJItnAAyIC6Jf=zqNK2sEC5v7Z6WgG)w>*7DVn6 zUC9S&sJo_Pns#d4XxU_Gv0=YmiWe^PWB$9zDAQ*relOgE-?dxJJHZSI5!ZGWUaBvn z279flHHjLyhL5(Tp}B4-3x9i2*?0dj+}ZLoT~4?a*`D|P$-g&D78ws!LZg-TObv$?8|na zoswXTw_V1P^o}f|jQTcaJ|-@Iv$oq$vpNyiG=0bVeT@+NA|$EJd#8!D%*P!J91+in z;e(r`*h8d$I5MHJ=2F~!yH|Sk+`EwF#-x>XLCM65?|@QuX58$d6&+OK(baj>}g-F4sm|0AzpdB%$j9IN;F*t1rnT>v@;UaCqmD8mZ;VzHmn~v9Gt55LRq-w zd(J(Pawh-WOQIb5cLzY~{wh7XZ?{bP$cOy%LyX8lH9lztM5TK6Eox?W_)?6x(e$Xb;ssm$86My*U3_>VVyIt=A%o!rQf=h9^#jp)rzw zMt=OoNgOjY>iB81NZ>rnYO7O!<9$%|Vrj^9m-Niy52tfSn!&5pWAU#6Uw7m9GN5Yp z2XV$t`^YUyU`!YVUHQOS=(i| z+w2Nmo{i)3x3jrF2x({$0}K3A3U}nq?gc+Dq-o=W>~rD_NvDm1h_|ZVvA`k^6W?siaRU)-RZf#Y)Wmh zP&`I1M}17}g4Ax=%_48HfkQG1bjF^He$M5iubKSb*M_@_U;kZJKjcT*V~K1}8$-PD zKy){XMLTFhU0SX;qk=2!=Soi0X$@isVjc;clSq4`^mt*@p71(L3EZwF?|cvJF?B!i z)le>2EHj~)I-BSnjJ9fs#^mrLm+3zM}@sH7fEvm*%Nw#(yFf!OAn2hu%tfA1>CuG5!a3w?~8O z5WLSoL*yj~QuZBgWARCRMKzpZTxl=z4tC$^?H1(w>e#nVv!S4XbMih7n)TVS+t4a! zX4N~|agjrXjMC>T1Ms}%fwZHg8LBA9$@R#Z&Q%xqVs*`IREPl>nW9$c4b{NpCETaf>&>vNEKmW+vV+=J#^?%kDHI;O2_FeLQiv9dMqEonf zRqTZmOzGRi9ro^j>TIKPbe-ePPm&(5hP(aSI4z~APiwYJ@!?3=+62!m%BQka?kMHa zFusAR-%G;t=F`Nr-|vR?#pOGS{6uG{4wC@7|A5+=B7*~NV4F|a;#Oh)3!P<2AE4#o z#c@J{xAF)0bz8CE*X`Kqkfk+Yqj#pym1X6wn^RJn#>8t1Lta$Yf#h|f(Br6+Cp;~#kv|u^M9(A){!x)Li+bk+v+3y z-uZ%thvWbq>lCA|2{PC4nv8K>T4ns|kJ|T(R|2LK7MeII>MNJMJ_vt{CMzE+AK0Wg z&0y#jBxZO$+6e$>NXXtZplo| zyr_xNICJn5?rW>Z@8M~p3srPl@|uY!rK7xkl|@85{hRRpqcJR@t-JfNsfoxh?pBAx zn%vn!Gv3@YaeVQ^v7^o)sV(q-qm~JLg*)MuYVS2%Wy(t{rqm4f2KT|3u|~8FJ^^WN z7)pVys!p(e?Z`Fvypn6}kuI#N&D4$7)??3G7_5t?ugJOEyXs#qJ@W}IytP>YLKCW` z$0T*?%v*Fr;_dYNTPF1<%_rZH-sJV7lIDuBU}aWhkZ;M&>%=~HfkouvohA@ z4jIA{D$}boiZyu%bWB$Q!+*iIPzWv$Suir*GD(B9zs092yBbS@obt{!HMjID#k;@g zQ5s9%{K)JGJGswu$3gPnwlAIK^Y!oqlqKfX*w~zB{L!(L_^|&v^)7yo%82c;z{|kf zqcbD;3IDJ^;RD60bktUFeWX-9^aC?&Q1e%2e~iaFUG3iI6%h?L2keHAi2pE)qN^vr zsYqUO4)>RMoNJDg#M=Vi?zZwZoPApLBW2(GlJ_L!>)^35hnx$vGpIM_8V1zL^dg3M zG9fHN3J+|IhxZcC5N;nW-)_wKM#)P#yQCbNi2zJfTkdp;njUoyP}|0*jWb$oA*wd) zFve13EQarc>BIxb5gi%TUzsCKLu&Q=5?RBEqya6}m0is)1Ikvi5|xdyp~{y+E5QqK z&+|@eMah0&cr07c+L%KhUR>W}Tch>rPfXhV>F3khq)IHif7ggZMFy0)@2A{Mw?t}U zueGy;{zLUxTw>aMr@1K{5oJ3;Kxdy29yY@eK1OOPWaP#2V>FqT&VhgQwLrfq3e-cc zUn8oeh6b4Vzlm9)Al{(G63YKmR?iEJj_q-q*!t=pq>aT9Q)-m9V7NJbzBGh5UGB}{xdt~y^1)f+De4lbZqXLDrot&Z>eXr;A& zbR@d`ytJ0HGbTdw&BURODLaVq72QPVo{n(Jh$BjOQ+L7Oc5BHZqy^FObfL)J385J*Da<-phYS7<^ZL(%nL6i_{Pwy`E-mdR|!{Lc0ryu}} zT)DzO|CLutEqhp6-lnKj9pBsw&XBd$vKG-U_D)Njf8nI7);gQl%F6m9eojvXAxAns z?Du`INTZ9cu9|#I>$BWu;f!HY&}H-AV|VL*Fgx@oynYdm3d`E6TV1Vs{SR%c&UG~& z?NhQ%wta6NZgHg1y@u#89Nelw=Y`Rq@ViB|a13{bJgKxV+i~-%4;ufoJ80o%-)zk- z~jNLI@f_ z-4w|;m7X|oU)g^%u&cK3xIM;c9!Qieotw@L;MCX+2VYtY`0YVe6K)ZIVoNu*#1@+E zN@|Sn2F#4U%qP@@&O9;IR3nO}3vJ4R%HL=^?yE#3*G{*lZJmXKEOkj=hKx$BYS@76 zJ({G<-cd#uW12G*Eb9DaQGRTwPDJ8E*gn1JrN0e#%9sn~CcoVJwl1VJHiLPZk|wTS z<++Uw-IA1Hq;~{kVeAi^ZqEK9Yvu)2U0V(-?8-l*iuG(oKWoDe`6BJ56E!Xb#z?5A zRndA>b6t+QW^~E+en%;fUx1(4^o<-Hi}j96&jO!g@xN9 z(Q#Hs~Xx8Ztb^rm0thC+g8VX6E;=nFf4THdu`3cclbke zk@vb8wvf>}j!!gx9yza}J!H4TF?}@I?@qI_Y6+_AgnHS>*;@nmEceWO9$LXa@hS7o z5yZx*FMTrHgW5}qfy|Z)nzMLEHP-BJj1~R;Jn$TN%t+ewKA@=PXLf)0S#b{j?x1`T zs&xsNfPcTWOVgl-lQk*JlM1t!6WUdaPc?O}D|h;c`ahKxX$xKp0Fy1;Fs7W_{ReBr z@EHy&Cbz}zr(bI6C*BB*_2lXq4@NNI$Y7*(?YcySHtyIeHpKj{E! z0$_zckNO+%$+aAKGplq(N3uZER>u;TCIF@SuIB*M>g?)@(hDWleRj0smAY)>V8rHS!mlRb2~ohgNs9 zRdBWk;7KFtk`|6VdWKV4YS+33QVn#dcCK25y|`BW&cpaUyXB|uIgP2H|9(YX37fL1 z0mp5$P?D6o0*;J%Dt(g>X6!5DD-bPwO0U;xmmII^Q9ru5cNwU$!%X4n1k%yF zB)6C@j^S3!q0*gc7K-Ma#;|5l(F2Bm;r9%wYtL#c0Yr8dxi8pbtFF3b32V5V_Rp;lya>xkwt!$Z%U)`hRMAO zmmM?JAGJShBRD7G&WK}4U-AKMCDLcn4Tc^N&w=ui{TN@BFB{ng+#!{O9cz!Vh{DXm z?*;moGXOjSIdIJI+{)!2Gi@B3a>5VB!lFBSBHs(OwB~S64$KZ#ZOKjl9R|p!$l$*9`2&;UE%pNi173z4uiy zK+nOYdT{}Er}kpC8F|0N+eIS4e7rja09W-Ip0N}Euls#ARN#nzgl}Gb#(i39%MCyH zXp6H_D}J~2cs+z9=c%`nxA8H1WThQQpl#V9Y z6#(CA$?se)ICK-)widv-GeS}rG_8Q$7rujK*2d70VL$`Q^5@Z}InxaY;k@-tHh_C& z0G9_cQS*!%x!X+ScQiL|9Nu$f8r$16ppX^j4KAp$#0dJ?+il5WgpomZEKDBmWw0*0N8Ol@-%R@8oZ(Yt_KQi$2!m zZ}wFAsf;=DJ6($&Om>NvfcNR%=^d_R!7ZC(WuEVOwiuZdKVwVQkyo+tmJJ?kkU$RL zz!8C4TL0=&C|}Ge&~3tTeZ%3w*~cqyB^F)W!=NLvO+a^9c#4z{>E2QmRbqM;cif`S zFK%}2uK|{({1E-#yisPP#iM=*RtYLH9U?}TPm4n2?WOy4_p3T|ef*cJbP-I4mdo5M zJly0&PZjso`C#5O(y}vLa)ehVkWz61etmr^LQ7eBH{WCSMf;HSAUiFU9DHgU}~+}R}mac)UH@e>W7V%BdkNNsO90GqUygHZ29`) zXQ{-?(pm{YoI%7Ilx4zP?M{sskfeotP4vMT!o|Q9Yn8$J1_R@ ze$w3d+^3v~>+Nn<^sBj%^ITNOO98+2crh^)b4d21L(?G?5H#sv;nR2z_biMHZ!;fE zcB)SFR#5n|HKu&9>s*{MctYwiu|X>~euUyF8YhW_`?Er1x;q_HIJVn%xHfD@Mc$d> zlg9O$*6(>_;j|FhDmn$;k!XvP~kHo8@-A~(->=x$7-PuN33|HE9Vpf^9@{nVXxSkHUX zcAruHM%}W*gE17dX4iyST-whtySj27voyp>Iw<*1E^xcF$~T8C+awoeCZRvtd#g&N z;Pf!Uw^sjS-nuw{TCMJ6c%uptqAWwH)RuY@nQsYP`oI?x+oy2FxZLr!KcIfRFkbP8 zitfP_o)%Tba8J{vDO%)jY12lzeq>!Df*Q3l(%MJ>JQ(2$%E~0UI zK%PeNWtwS6E|_!FbCA{sQ>m!@iko!LtNhj)R5x0qZ*g+J0r2#qtw;Aw4(e!Y%?~r!W+}o_G z&dUmS8QjGesE5ts4U4Ji<#3>zHbKK-HfM5Nda;CzZ z!Zmi)pDP78jUx#B)PBD$1^nNgH;CmPsH5q(BwF2;v{=y$?XhZ1!?Tp@c{f-GgP%;( z3M!{ozLcgLP3rtwJs3hdDUwPKkiom$SeWs93fgzVAG6F&3}=D zTm9swHMtrSJT{vs*8fOPUhomzN!uIS2On_%*HtikoEwwkeUkr0DVkx zxED{i=*72)Hl0Vq|a2+=^hD9{hu2wqFtLMq( z7}fQS)WnErXni%>$d2mqUpH)i;&s4GUUVA!qENoWD?(OAy*^weo(iJ*xUZ`z8@tTC zPJnENnhsh-O6hLxlY2ikF_9G}PS(i{W^Q+8E~f-4b>aIK(8)P7vr9+LXrAHDO{g~) zEBPqJubsda3`P`n^l8X;gkqScg|nOZx=#z9Zg7C|IGdT1_D^D9mqgRE35W=`?u(9| z=^gDa(3^4Pz13P1E_=0yRxSyiLOhnfs`-Wf?XqZ-R9ab@@+`ASA7v|@U&Pf+cm+op zt=?dZvQ{LI=+ht;Mkf}b+1uRP=#stbDraJ#OJia`icXWCcwsB=w9QqDQ~JERX9vG- zPQPnrG(;+#gZ<*C7gS_X(En-wl$R8^v}plfO4~14?mmD6W&V?NksVNw^IKVV99D*g z(&(Ta@TbzsVEl}#=wZur*gmaN!hCW0ra(`Plxi>ClT&jGf1U%GDLHm@-6&fcC`S*l zd~O2ExH6y1XLsn!aLfskoSNfVqtd&r%T~1E%*AKbcN9-@e(0d~T}yn_blUET#2|J} z3pm!a6tx`4guCC@`_U$#QF+%iZa^3t5|)iL`NEsp-*wkDRK-_5O|pB*XKFz>Tf4nU zMctaqKc%ia-k^n*;@J$^)75g)d6{5}a`tl;IdGrotCeA8pNzq|-|A2hBJl9))UO3i zZ?o04S%mVm8mX`$lpYL8IQwEh<8-J3OJihJtGvMMY+Ri^`(1=g^4?nxm)O z%Qed*(8;ww;;?mH9@%%ZsLWyP>e3WbRpqB*cxQHoS1RA?x)CTx3H*BCbf%w@rOcST zh{90*pPomaVBp1BFZKHk!>xZ=DYy&g_pBE8hY9YARav-gB`?;%u2%%K^?Dz|d#_#s zH&%s9%DH#*Nwxx=xW8@_Ot%KhI!JAQ5YJF9e41=97I1rwI`FdNIp$>K(xG zSxSo4bT06+(y@=+@8cSX3y@$aI+l>@z3nk>|;v+qU(+#~PlB z?{c#9nXgLdGG=Y%6^s3~Yt+~`-JD}k?q{k76RGLe?jL2s1`?CfQ&8N5e5ac-7F3=@SGVFsueRj_k{wMBWU=i(^$LgcG10QK@sHX=mau7o#pB; zEq*vpN$^{Sx)xm#i>mZgtG3C5kg7akI&hNG!k|XC)zQq)YW99_3aGVR0H)?n6m{(% zrxq3<7s6GyFW-Grv9Y*$k`+}VPe5F^rjv+|X9tsoduER6Ql`I}1&vz<)XP z#<`;^7l^mF;>Ap;4(neP-pHc$ANHbRk@9yv8%FHmA2A}aGIP~C4C}JJ?bI)s^RRXc zoi*3RShN!Bew{}*(R{@K-Rzrkw8+q%4N=NwdhY=>#n=JVjYJJw@!`4X@}h_^u@?h5 zM&!wia>*_~49s z3&$UkPDp)NIxQc{Z3Q&XwYF04g83zMZ5R@ zf!|h`=C?^!yyd0^IcZIn-Zb`6RC$Sr&<}aFdRY|Bq7}9IQSHkXHB|SA$kYcJrn$Wy z0cl*751148Shg+n*sX~h?Hy>6`|WpgiC!5h8MC2UGz**dbDUTowy$4h_n&yd-krrj zH7&i!bP<@?O-iX#dSl)#yz*?~S5nv6T+~v3bWP8GftEqZMk}<_5pHin>?`WUm`BkW z)ZBvy}Cz0cG1M4=`SLaqHiwIwt zcco?K=hC+gZ>S{{)#p?SdkLN#WpEHSNuWc?=_2DId>v5xV*7x(K~|N?vT3$RDu%On zGG|jW;F)6gKemXxj_1T%m3BfhKXTH(rxLy(Wr&TD2x@+fLEvR&8oaX+17+3Xp2}wj zciF0APuJ-2W*A$tXfk2kr_l<~s1m=>kNxS16F6iR2KEEwW48BKD8CIISw{*hw5%*e%Cv$XE`pt^?WpGeO77jIzwaH57z&+ zX54*EWm~pT%cVa@#1WSZaMamvf||j$4#OqvkUE31=I{@bU#AWS%)$I*rA;2S8bB%b zmw`ugeAI8`XN*4Zhk@?Smk2sqDw$vC6yR<{6xgQ2ET@6kL*kS;FL1HvI!q}~)DX(s z2m{uC2{FWRJ;%J7B`7MNQBS$eZBQRq=xJKbya3o`;