Built motion from commit 10af8726.|2.6.34
[motion2.git] / apidoc / api_data.js
index 17583b9..f843549 100644 (file)
@@ -1,5 +1,73 @@
 define({ "api": [
   {
+    "type": "post",
+    "url": "/api/cm/hopper/timezone",
+    "title": "Gets a single TZ data",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/cm/hopper/timezone -d '{\"timezone\": [1]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X GET",
+        "type": "json"
+      }
+    ],
+    "name": "getTimezone",
+    "version": "0.0.0",
+    "filename": "server/api/cmHopper/index.js",
+    "group": "/var/opt/motion2/server/api/cmHopper/index.js",
+    "groupTitle": "/var/opt/motion2/server/api/cmHopper/index.js"
+  },
+  {
+    "type": "delete",
+    "url": "/api/square/projects/{id}/users",
+    "title": "Removes user permissions from a Project",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/square/projects/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
+        "type": "json"
+      }
+    ],
+    "version": "0.0.0",
+    "filename": "server/api/squareProject/index.js",
+    "group": "/var/opt/motion2/server/api/squareProject/index.js",
+    "groupTitle": "/var/opt/motion2/server/api/squareProject/index.js",
+    "name": "DeleteApiSquareProjectsIdUsers"
+  },
+  {
+    "type": "get",
+    "url": "/api/square/projects/{id}/users",
+    "title": "Gets users permissions from Project",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/square/projects/{id}/users -v -u {name}:{password} -X GET",
+        "type": "json"
+      }
+    ],
+    "version": "0.0.0",
+    "filename": "server/api/squareProject/index.js",
+    "group": "/var/opt/motion2/server/api/squareProject/index.js",
+    "groupTitle": "/var/opt/motion2/server/api/squareProject/index.js",
+    "name": "GetApiSquareProjectsIdUsers"
+  },
+  {
+    "type": "post",
+    "url": "/api/square/projects/{id}/users",
+    "title": "Adds user permissions to a Project",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/square/projects/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
+        "type": "json"
+      }
+    ],
+    "version": "0.0.0",
+    "filename": "server/api/squareProject/index.js",
+    "group": "/var/opt/motion2/server/api/squareProject/index.js",
+    "groupTitle": "/var/opt/motion2/server/api/squareProject/index.js",
+    "name": "PostApiSquareProjectsIdUsers"
+  },
+  {
     "type": "delete",
     "url": "/api/actions/{id}",
     "title": "Deletes a Action",
@@ -1301,6 +1369,44 @@ define({ "api": [
   },
   {
     "type": "post",
+    "url": "/api/auth/activedirectory",
+    "title": "Creates a new User token",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/auth/activedirectory -d '{\"name\": \"john.doe\", \"password\": \"password\"}' \\\n -H \"Content-Type: application/json\" -X POST",
+        "type": "json"
+      }
+    ],
+    "name": "Local_login",
+    "group": "Authentication",
+    "parameter": {
+      "fields": {
+        "Body": [
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": false,
+            "field": "name",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": false,
+            "field": "password",
+            "description": ""
+          }
+        ]
+      }
+    },
+    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/authActiveDirectory/index.js",
+    "groupTitle": "Authentication"
+  },
+  {
+    "type": "post",
     "url": "/api/auth/google",
     "title": "Creates a new User token",
     "examples": [
@@ -2441,6 +2547,24 @@ define({ "api": [
     "groupTitle": "Chat_Interactions"
   },
   {
+    "type": "put",
+    "url": "/api/chat/interactions/{id}/close",
+    "title": "Close Interaction",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/chat/interactions/{id}/close -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
+        "type": "json"
+      }
+    ],
+    "name": "addMessage",
+    "group": "Chat_Interactions",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/chatInteraction/index.js",
+    "groupTitle": "Chat_Interactions"
+  },
+  {
     "type": "post",
     "url": "/api/chat/interactions/{id}/messages",
     "title": "Creates new messages",
@@ -2518,24 +2642,6 @@ define({ "api": [
     "groupTitle": "Chat_Interactions"
   },
   {
-    "type": "put",
-    "url": "/api/chat/interactions/{id}/close",
-    "title": "Close Interaction",
-    "examples": [
-      {
-        "title": "Example usage:",
-        "content": "curl https://{domain}/api/chat/interactions/{id}/close -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
-        "type": "json"
-      }
-    ],
-    "name": "addMessage",
-    "group": "Chat_Interactions",
-    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
-    "version": "0.0.0",
-    "filename": "server/api/chatInteraction/index.js",
-    "groupTitle": "Chat_Interactions"
-  },
-  {
     "type": "post",
     "url": "/api/chat/interactions/{id}/attachment_upload",
     "title": "Add attachment",
@@ -4265,6 +4371,13 @@ define({ "api": [
           },
           {
             "group": "Body",
+            "type": "Integer",
+            "optional": true,
+            "field": "waitForTheAssignedQueue",
+            "description": ""
+          },
+          {
+            "group": "Body",
             "type": "String",
             "optional": true,
             "field": "alignment",
@@ -4281,6 +4394,13 @@ define({ "api": [
             "group": "Body",
             "type": "String",
             "optional": true,
+            "field": "labelText",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
             "field": "messagesAlignment",
             "description": ""
           },
@@ -5493,6 +5613,35 @@ define({ "api": [
   },
   {
     "type": "get",
+    "url": "/api/cloudProviders/oauth2/microsoft/authorize/{id}",
+    "title": "Generates the Microsoft Identity platform authorization url",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/cloudProviders/oauth2/microsoft/authorize/{id} -v -u {name}:{password}",
+        "type": "json"
+      }
+    ],
+    "name": "Oauth2MicrosoftAuthorize",
+    "group": "CloudProviders",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/cloudProvider/index.js",
+    "groupTitle": "CloudProviders"
+  },
+  {
+    "type": "post",
+    "url": "/api/cloudProviders/oauth2/microsoft/callback",
+    "title": "Receives an authorization code from Microsoft Identity platform",
+    "name": "Oauth2MicrosoftCallback",
+    "group": "CloudProviders",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/cloudProvider/index.js",
+    "groupTitle": "CloudProviders"
+  },
+  {
+    "type": "get",
     "url": "/api/cloudProviders/{id}",
     "title": "Gets a single CloudProvider",
     "examples": [
@@ -5529,6 +5678,324 @@ define({ "api": [
   },
   {
     "type": "post",
+    "url": "/api/cm_contact_has_items",
+    "title": "Creates a new CmContactHasItem",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/cm_contact_has_items -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
+        "type": "json"
+      }
+    ],
+    "name": "CreateCmContactHasItems",
+    "group": "CmContactHasItems",
+    "parameter": {
+      "fields": {
+        "Body": [
+          {
+            "group": "Body",
+            "type": "Integer",
+            "optional": true,
+            "field": "CmContactId",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "item",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Integer",
+            "optional": true,
+            "field": "ItemTypeId",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "ItemClass",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Integer",
+            "optional": true,
+            "field": "OrderBy",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "description",
+            "description": ""
+          }
+        ]
+      }
+    },
+    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/cmContactHasItem/index.js",
+    "groupTitle": "CmContactHasItems"
+  },
+  {
+    "type": "delete",
+    "url": "/api/cm_contact_has_items/{id}",
+    "title": "Deletes a CmContactHasItem",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/cm_contact_has_items/{id} -v -u {name}:{password} -X DELETE",
+        "type": "json"
+      }
+    ],
+    "name": "DeleteCmContactHasItems",
+    "group": "CmContactHasItems",
+    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/cmContactHasItem/index.js",
+    "groupTitle": "CmContactHasItems"
+  },
+  {
+    "type": "get",
+    "url": "/api/cm_contact_has_items",
+    "title": "Gets a list of CmContactHasItems",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/cm_contact_has_items -v -u {name}:{password}",
+        "type": "json"
+      }
+    ],
+    "name": "GetCmContactHasItems",
+    "group": "CmContactHasItems",
+    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm_contact_has_items?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm_contact_has_items?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm_contact_has_items?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm_contact_has_items?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm_contact_has_items?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
+    "version": "0.0.0",
+    "filename": "server/api/cmContactHasItem/index.js",
+    "groupTitle": "CmContactHasItems"
+  },
+  {
+    "type": "get",
+    "url": "/api/cm_contact_has_items/{id}",
+    "title": "Gets a single CmContactHasItem",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/cm_contact_has_items/{id} -v -u {name}:{password}",
+        "type": "json"
+      }
+    ],
+    "name": "ShowCmContactHasItems",
+    "group": "CmContactHasItems",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/cmContactHasItem/index.js",
+    "groupTitle": "CmContactHasItems"
+  },
+  {
+    "type": "put",
+    "url": "/api/cm_contact_has_items/{id}",
+    "title": "Update an existing CmContactHasItem",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/cm_contact_has_items/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
+        "type": "json"
+      }
+    ],
+    "name": "updateCmContactHasItems",
+    "group": "CmContactHasItems",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/cmContactHasItem/index.js",
+    "groupTitle": "CmContactHasItems"
+  },
+  {
+    "type": "post",
+    "url": "/api/cm_hopper_additional_phones",
+    "title": "Creates a new CmHopperAdditionalPhone",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/cm_hopper_additional_phones -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
+        "type": "json"
+      }
+    ],
+    "name": "CreateCmHopperAdditionalPhones",
+    "group": "CmHopperAdditionalPhones",
+    "parameter": {
+      "fields": {
+        "Body": [
+          {
+            "group": "Body",
+            "type": "Integer",
+            "optional": true,
+            "field": "CmHopperId",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": false,
+            "field": "phone",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Integer",
+            "optional": true,
+            "field": "OrderBy",
+            "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": "countnosuchnumberretry",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Integer",
+            "optional": true,
+            "field": "countdropretry",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Integer",
+            "optional": true,
+            "field": "countabandonedretry",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Integer",
+            "optional": true,
+            "field": "countmachineretry",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Integer",
+            "optional": true,
+            "field": "countagentrejectretry",
+            "description": ""
+          }
+        ]
+      }
+    },
+    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/cmHopperAdditionalPhone/index.js",
+    "groupTitle": "CmHopperAdditionalPhones"
+  },
+  {
+    "type": "delete",
+    "url": "/api/cm_hopper_additional_phones/{id}",
+    "title": "Deletes a CmHopperAdditionalPhone",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/cm_hopper_additional_phones/{id} -v -u {name}:{password} -X DELETE",
+        "type": "json"
+      }
+    ],
+    "name": "DeleteCmHopperAdditionalPhones",
+    "group": "CmHopperAdditionalPhones",
+    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/cmHopperAdditionalPhone/index.js",
+    "groupTitle": "CmHopperAdditionalPhones"
+  },
+  {
+    "type": "get",
+    "url": "/api/cm_hopper_additional_phones",
+    "title": "Gets a list of CmHopperAdditionalPhones",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/cm_hopper_additional_phones -v -u {name}:{password}",
+        "type": "json"
+      }
+    ],
+    "name": "GetCmHopperAdditionalPhones",
+    "group": "CmHopperAdditionalPhones",
+    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/cm_hopper_additional_phones?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/cm_hopper_additional_phones?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/cm_hopper_additional_phones?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/cm_hopper_additional_phones?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/cm_hopper_additional_phones?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
+    "version": "0.0.0",
+    "filename": "server/api/cmHopperAdditionalPhone/index.js",
+    "groupTitle": "CmHopperAdditionalPhones"
+  },
+  {
+    "type": "get",
+    "url": "/api/cm_hopper_additional_phones/{id}",
+    "title": "Gets a single CmHopperAdditionalPhone",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/cm_hopper_additional_phones/{id} -v -u {name}:{password}",
+        "type": "json"
+      }
+    ],
+    "name": "ShowCmHopperAdditionalPhones",
+    "group": "CmHopperAdditionalPhones",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/cmHopperAdditionalPhone/index.js",
+    "groupTitle": "CmHopperAdditionalPhones"
+  },
+  {
+    "type": "put",
+    "url": "/api/cm_hopper_additional_phones/{id}",
+    "title": "Update an existing CmHopperAdditionalPhone",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/cm_hopper_additional_phones/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
+        "type": "json"
+      }
+    ],
+    "name": "updateCmHopperAdditionalPhones",
+    "group": "CmHopperAdditionalPhones",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/cmHopperAdditionalPhone/index.js",
+    "groupTitle": "CmHopperAdditionalPhones"
+  },
+  {
+    "type": "post",
     "url": "/api/cm/companies",
     "title": "Creates a new Company",
     "examples": [
@@ -6129,6 +6596,42 @@ define({ "api": [
     "groupTitle": "Cm_Contacts"
   },
   {
+    "type": "post",
+    "url": "/api/cm/contacts/{id}/duplicatePhones",
+    "title": "Sets new contact additional phones",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/cm/contacts/{id}/duplicateAdditionalPhones -d '{\"phones\": [p1,p2]}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
+        "type": "json"
+      }
+    ],
+    "name": "duplicateAdditionalPhones",
+    "group": "Cm_Contacts",
+    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/cmContact/index.js",
+    "groupTitle": "Cm_Contacts"
+  },
+  {
+    "type": "get",
+    "url": "/api/cm/contacts/{id}/phones",
+    "title": "Gets contact phones",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/cm/contacts/{id}/phones -v -u {name}:{password} -X GET",
+        "type": "json"
+      }
+    ],
+    "name": "getAdditionalPhones",
+    "group": "Cm_Contacts",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/cmContact/index.js",
+    "groupTitle": "Cm_Contacts"
+  },
+  {
     "type": "get",
     "url": "/api/cm/contacts/{id}/journey",
     "title": "Gets customer journey",
@@ -6202,6 +6705,42 @@ define({ "api": [
   },
   {
     "type": "post",
+    "url": "/api/cm/contacts/{id}/rescheduleAdditionalPhones",
+    "title": "Sets new contact additional phones",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/cm/contacts/{id}/rescheduleAdditionalPhones -d '{\"phones\": [p1,p2]}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
+        "type": "json"
+      }
+    ],
+    "name": "rescheduleAdditionalPhones",
+    "group": "Cm_Contacts",
+    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/cmContact/index.js",
+    "groupTitle": "Cm_Contacts"
+  },
+  {
+    "type": "post",
+    "url": "/api/cm/contacts/{id}/phones",
+    "title": "Sets new contact phones",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/cm/contacts/{id}/phones -d '{\"phones\": [p1,p2]}' -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
+        "type": "json"
+      }
+    ],
+    "name": "setAdditionalPhones",
+    "group": "Cm_Contacts",
+    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/cmContact/index.js",
+    "groupTitle": "Cm_Contacts"
+  },
+  {
+    "type": "post",
     "url": "/api/cm/contacts/{id}/tags",
     "title": "Sets new tags",
     "examples": [
@@ -6488,6 +7027,20 @@ define({ "api": [
             "optional": true,
             "field": "countagentrejectretry",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Integer",
+            "optional": true,
+            "field": "OrderBy",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "dialTimezone",
+            "description": ""
           }
         ]
       }
@@ -7227,6 +7780,42 @@ define({ "api": [
     "groupTitle": "Cm_Hopper"
   },
   {
+    "type": "get",
+    "url": "/api/cm/hopper/{id}/previewrecall",
+    "title": "Gets Preview Dialer Contacts for Recall",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/cm/hopper/{id}/previewrecall \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X GET",
+        "type": "json"
+      }
+    ],
+    "name": "getPreviewRecall",
+    "group": "Cm_Hopper",
+    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/cmHopper/index.js",
+    "groupTitle": "Cm_Hopper"
+  },
+  {
+    "type": "get",
+    "url": "/api/cm/hopper/timezones",
+    "title": "Gets TZs list",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/cm/hopper/timezones -v -u {name}:{password} -X GET",
+        "type": "json"
+      }
+    ],
+    "name": "getTimezones",
+    "group": "Cm_Hopper",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/cmHopper/index.js",
+    "groupTitle": "Cm_Hopper"
+  },
+  {
     "type": "put",
     "url": "/api/cm/hopper/{id}",
     "title": "Update an existing Hopper",
@@ -7756,6 +8345,24 @@ define({ "api": [
   },
   {
     "type": "get",
+    "url": "/api/cm/lists/global_fields",
+    "title": "Gets GLOBAL Custom Fields",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/cm/lists/global_fields -v -u {name}:{password} -X GET",
+        "type": "json"
+      }
+    ],
+    "name": "getGlobalCustomFields",
+    "group": "Cm_Lists",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/cmList/index.js",
+    "groupTitle": "Cm_Lists"
+  },
+  {
+    "type": "get",
     "url": "/api/cm/lists/{id}/contacts/csv",
     "title": "Gets CSV List Contacts",
     "examples": [
@@ -7810,6 +8417,24 @@ define({ "api": [
   },
   {
     "type": "post",
+    "url": "/api/cm/contacts/uploadUpdates/:id",
+    "title": "Import existing contacts by csv",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/cm/contacts/uploadUpdates/:id -v -u {name}:{password} -X POST",
+        "type": "json"
+      }
+    ],
+    "name": "importUpdates",
+    "group": "Cm_contacts",
+    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/cmContact/index.js",
+    "groupTitle": "Cm_contacts"
+  },
+  {
+    "type": "post",
     "url": "/api/cm/contacts/upload",
     "title": "Upload csv",
     "examples": [
@@ -7882,6 +8507,123 @@ define({ "api": [
   },
   {
     "type": "post",
+    "url": "/api/contact_item_types",
+    "title": "Creates a new ContactItemType",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/contact_item_types -d '{\"key1\": \"valu1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
+        "type": "json"
+      }
+    ],
+    "name": "CreateContactItemTypes",
+    "group": "ContactItemType",
+    "parameter": {
+      "fields": {
+        "Body": [
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": false,
+            "field": "name",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Integer",
+            "optional": true,
+            "field": "OrderBy",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "rgbBackgroundColor",
+            "description": ""
+          }
+        ]
+      }
+    },
+    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/contactItemType/index.js",
+    "groupTitle": "ContactItemType"
+  },
+  {
+    "type": "delete",
+    "url": "/api/contact_item_types/{id}",
+    "title": "Deletes a ContactItemType",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/contact_item_types/{id} -v -u {name}:{password} -X DELETE",
+        "type": "json"
+      }
+    ],
+    "name": "DeleteContactItemTypes",
+    "group": "ContactItemType",
+    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/contactItemType/index.js",
+    "groupTitle": "ContactItemType"
+  },
+  {
+    "type": "get",
+    "url": "/api/contact_item_types",
+    "title": "Gets a list of ContactItemTypes",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/contact_item_types -v -u {name}:{password}",
+        "type": "json"
+      }
+    ],
+    "name": "GetContactItemTypes",
+    "group": "ContactItemType",
+    "description": "<p>Motion will always return paged results. Motion returns paging data in the <code>Content-Range</code> header in the form start - end / total.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned otherwise it will return a HTTP status code <code>206</code> Partial Content.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <h2>Retrieving Specific Fields</h2> <p>To return only specific fields for a result set you can utilize the <code>fields</code> parameter. This parameter accepts a comma-separated list.</p> <p>A call returning only <code>id</code> and <code>name</code> for a result set would look like this.</p> <p><code>GET /api/contact_item_types?fields=id,name</code></p> <h2>Filtering</h2> <p>You can perform exact-match filtering on any of a model's fields by using the field name as the key and supplying it with a value. These parameters accept a comma-separated list.</p> <p>A call returning a result set for records with <code>name</code> of <code>john.doe</code> or <code>jane.miller</code>.</p> <p><code>GET /api/contact_item_types?name=john.doe,jane.miller</code></p> <p>If you use the key <code>filter</code> the result will be filtered by the value you specify.</p> <p><code>GET /api/contact_item_types?filter=john</code></p> <h2>Sorting</h2> <p>To sort a result set based on one or several fields you can utilize the <code>sort</code> parameter. This parameters accepts a comma-separated list.</p> <p>Results will be sorted in the order of the fields provided. The default sorting order for fields is ascending. Fields can be sorted in descending order by prefixing them with a dash (<code>-</code>).</p> <p>A call sorting a result by <code>id</code> ascending and then <code>name</code> descending would look like this.</p> <p><code>GET /api/contact_item_types?sort=id,-name</code></p> <h2>Offset and Limit</h2> <p>Query results are always paged. Motion leverages the <code>offset</code> and <code>limit</code> parameters to facilitate this.</p> <p>When the neither of these parameters are explicitly supplied the handler will assume the a default <code>limit</code> of <code>100</code>.</p> <p><code>offset</code> is a number indicating the start position in the result set you want to return.</p> <p><code>limit</code> is a number indicating how many records past the start position you want returned.</p> <p>A call with a result set starting at <code>5</code> and returning no more than <code>25</code> records would look like this.</p> <p><code>GET /api/contact_item_types?offset=5&amp;limit=25</code></p> <p>If there were <code>50</code> records in total, the returned <code>Content-Range</code> header would look like this.</p> <p><code>Content-Range: 5-30/50</code></p>",
+    "version": "0.0.0",
+    "filename": "server/api/contactItemType/index.js",
+    "groupTitle": "ContactItemType"
+  },
+  {
+    "type": "get",
+    "url": "/api/contact_item_types/{id}",
+    "title": "Gets a single ContactItemType",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/contact_item_types/{id} -v -u {name}:{password}",
+        "type": "json"
+      }
+    ],
+    "name": "ShowContactItemTypes",
+    "group": "ContactItemType",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/contactItemType/index.js",
+    "groupTitle": "ContactItemType"
+  },
+  {
+    "type": "put",
+    "url": "/api/contact_item_types/{id}",
+    "title": "Update an existing ContactItemType",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/contact_item_types/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
+        "type": "json"
+      }
+    ],
+    "name": "updateContactItemTypes",
+    "group": "ContactItemType",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/contactItemType/index.js",
+    "groupTitle": "ContactItemType"
+  },
+  {
+    "type": "post",
     "url": "/api/cm/custom_field",
     "title": "Create a new custom field",
     "examples": [
@@ -9608,6 +10350,13 @@ define({ "api": [
           },
           {
             "group": "Body",
+            "type": "Integer",
+            "optional": true,
+            "field": "waitForTheAssignedQueue",
+            "description": ""
+          },
+          {
+            "group": "Body",
             "type": "Boolean",
             "optional": true,
             "field": "queueTransfer",
@@ -10888,9 +11637,9 @@ define({ "api": [
     "groupTitle": "Fax_Messages"
   },
   {
-    "type": "post",
-    "url": "/api/fax/messages",
-    "title": "Create message and send Fax",
+    "type": "put",
+    "url": "/api/fax/messages/{id}/reject",
+    "title": "Rejects message",
     "examples": [
       {
         "title": "Example usage:",
@@ -10900,15 +11649,15 @@ define({ "api": [
     ],
     "name": "rejectMessage",
     "group": "Fax_Messages",
-    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
     "version": "0.0.0",
     "filename": "server/api/faxMessage/index.js",
     "groupTitle": "Fax_Messages"
   },
   {
-    "type": "put",
-    "url": "/api/fax/messages/{id}/reject",
-    "title": "Rejects message",
+    "type": "post",
+    "url": "/api/fax/messages",
+    "title": "Create message and send Fax",
     "examples": [
       {
         "title": "Example usage:",
@@ -10918,7 +11667,7 @@ define({ "api": [
     ],
     "name": "rejectMessage",
     "group": "Fax_Messages",
-    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
     "version": "0.0.0",
     "filename": "server/api/faxMessage/index.js",
     "groupTitle": "Fax_Messages"
@@ -14765,6 +15514,24 @@ define({ "api": [
     "groupTitle": "License"
   },
   {
+    "type": "get",
+    "url": "/api/mail_interaction_has_tags/describe",
+    "title": "Gets table info about Mail Iteraction Tags",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/mail_interaction_has_tags/describe -v -u {name}:{password}",
+        "type": "json"
+      }
+    ],
+    "name": "DescribeMailInteractionTags",
+    "group": "MailInteractionTags",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/mailInteractionHasTag/index.js",
+    "groupTitle": "MailInteractionTags"
+  },
+  {
     "type": "post",
     "url": "/api/mail/accounts/{id}/users",
     "title": "Add agents to a mail account",
@@ -17446,6 +18213,13 @@ define({ "api": [
           },
           {
             "group": "Body",
+            "type": "Integer",
+            "optional": true,
+            "field": "waitForTheAssignedQueue",
+            "description": ""
+          },
+          {
+            "group": "Body",
             "type": "String",
             "optional": true,
             "field": "mapKey",
@@ -17891,7 +18665,7 @@ define({ "api": [
     ],
     "name": "notify",
     "group": "Openchannel_Accounts",
-    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>Follow this link to check the documentation: <pre><a target=\"_blank\" href=\"https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice\">https://wiki.xcallymotion.com/display/XMV/New+Channels+Configuration+Steps#NewChannelsConfigurationSteps-BuildyourownChannelservice</a></pre></p>",
+    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p> <p>Follow this link to check the documentation: <pre>&lt;a target=&quot;_blank&quot; href=&quot;https://xcally.atlassian.net/wiki/spaces/XMV/pages/1896252245/New+Channels+Configuration+Steps&quot;</a></pre></p>",
     "version": "0.0.0",
     "filename": "server/api/openchannelAccount/index.js",
     "groupTitle": "Openchannel_Accounts"
@@ -19401,37 +20175,37 @@ define({ "api": [
     "groupTitle": "Plugins"
   },
   {
-    "type": "post",
+    "type": "get",
     "url": "/api/plugins/webhook?hostname={host}&port={port}&encoding={encoding}&json={json}&path={path}",
     "title": "Redirect a plugin request to the specified path",
     "examples": [
       {
         "title": "Example usage:",
-        "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -H 'Content-Type: application/json' -X POST",
+        "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -v -u {name}:{password} -X GET",
         "type": "json"
       }
     ],
     "name": "webhookPlugin",
     "group": "Plugins",
-    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
     "version": "0.0.0",
     "filename": "server/api/plugin/index.js",
     "groupTitle": "Plugins"
   },
   {
-    "type": "get",
+    "type": "post",
     "url": "/api/plugins/webhook?hostname={host}&port={port}&encoding={encoding}&json={json}&path={path}",
     "title": "Redirect a plugin request to the specified path",
     "examples": [
       {
         "title": "Example usage:",
-        "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -v -u {name}:{password} -X GET",
+        "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -H 'Content-Type: application/json' -X POST",
         "type": "json"
       }
     ],
     "name": "webhookPlugin",
     "group": "Plugins",
-    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
     "version": "0.0.0",
     "filename": "server/api/plugin/index.js",
     "groupTitle": "Plugins"
@@ -20304,6 +21078,24 @@ define({ "api": [
   },
   {
     "type": "get",
+    "url": "/api/realtime/agents",
+    "title": "Gets realtime agents info",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/realtime/agents -v -u {name}:{password}  -X GET",
+        "type": "json"
+      }
+    ],
+    "name": "getAgents",
+    "group": "Realtime",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/realtime/index.js",
+    "groupTitle": "Realtime"
+  },
+  {
+    "type": "get",
     "url": "/api/realtime/queues",
     "title": "Gets realtime queues info",
     "examples": [
@@ -22345,6 +23137,13 @@ define({ "api": [
           },
           {
             "group": "Body",
+            "type": "Integer",
+            "optional": true,
+            "field": "waitForTheAssignedQueue",
+            "description": ""
+          },
+          {
+            "group": "Body",
             "type": "Boolean",
             "optional": true,
             "field": "queueTransfer",
@@ -22850,31 +23649,31 @@ define({ "api": [
     "groupTitle": "Sms_Accounts"
   },
   {
-    "type": "post",
+    "type": "get",
     "url": "/api/sms/accounts/{id}/status",
-    "title": "Receive message status",
+    "title": "Receive message status as get request",
     "examples": [
       {
         "title": "Example usage:",
-        "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X POST",
+        "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X GET",
         "type": "json"
       }
     ],
     "name": "statusMessage",
     "group": "Sms_Accounts",
-    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
     "version": "0.0.0",
     "filename": "server/api/smsAccount/index.js",
     "groupTitle": "Sms_Accounts"
   },
   {
     "type": "post",
-    "url": "/api/sms/messages/{id}/status",
+    "url": "/api/sms/accounts/{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",
+        "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X POST",
         "type": "json"
       }
     ],
@@ -22882,25 +23681,25 @@ define({ "api": [
     "group": "Sms_Accounts",
     "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
     "version": "0.0.0",
-    "filename": "server/api/smsMessage/index.js",
+    "filename": "server/api/smsAccount/index.js",
     "groupTitle": "Sms_Accounts"
   },
   {
-    "type": "get",
-    "url": "/api/sms/accounts/{id}/status",
-    "title": "Receive message status as get request",
+    "type": "post",
+    "url": "/api/sms/messages/{id}/status",
+    "title": "Receive message status",
     "examples": [
       {
         "title": "Example usage:",
-        "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X GET",
+        "content": "curl https://{domain}/api/sms/messages/{id}/status \\ \n -H 'Content-Type: application/json' -v -X POST",
         "type": "json"
       }
     ],
     "name": "statusMessage",
     "group": "Sms_Accounts",
-    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
     "version": "0.0.0",
-    "filename": "server/api/smsAccount/index.js",
+    "filename": "server/api/smsMessage/index.js",
     "groupTitle": "Sms_Accounts"
   },
   {
@@ -24822,60 +25621,6 @@ define({ "api": [
     "groupTitle": "Square_Projects"
   },
   {
-    "type": "post",
-    "url": "/api/square/projects/{id}/users",
-    "title": "Adds user permissions to a Project",
-    "examples": [
-      {
-        "title": "Example usage:",
-        "content": "curl https://{domain}/api/square/projects/{id}/users -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
-        "type": "json"
-      }
-    ],
-    "name": "addUsers",
-    "group": "Square_Projects",
-    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
-    "version": "0.0.0",
-    "filename": "server/api/squareProject/index.js",
-    "groupTitle": "Square_Projects"
-  },
-  {
-    "type": "get",
-    "url": "/api/square/projects/{id}/users",
-    "title": "Gets users permissions from Project",
-    "examples": [
-      {
-        "title": "Example usage:",
-        "content": "curl https://{domain}/api/square/projects/{id}/users -v -u {name}:{password} -X GET",
-        "type": "json"
-      }
-    ],
-    "name": "getUsers",
-    "group": "Square_Projects",
-    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
-    "version": "0.0.0",
-    "filename": "server/api/squareProject/index.js",
-    "groupTitle": "Square_Projects"
-  },
-  {
-    "type": "delete",
-    "url": "/api/square/projects/{id}/users",
-    "title": "Removes user permissions from a Project",
-    "examples": [
-      {
-        "title": "Example usage:",
-        "content": "curl https://{domain}/api/square/projects/{id}/users?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
-        "type": "json"
-      }
-    ],
-    "name": "removeUsers",
-    "group": "Square_Projects",
-    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
-    "version": "0.0.0",
-    "filename": "server/api/squareProject/index.js",
-    "groupTitle": "Square_Projects"
-  },
-  {
     "type": "put",
     "url": "/api/square/projects/{id}",
     "title": "Update an existing Project",
@@ -26022,6 +26767,24 @@ define({ "api": [
   },
   {
     "type": "get",
+    "url": "/api/tags/describe",
+    "title": "Gets table info about Accounts",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/tags/describe -v -u {name}:{password}",
+        "type": "json"
+      }
+    ],
+    "name": "DescribeTags",
+    "group": "Tags",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/tag/index.js",
+    "groupTitle": "Tags"
+  },
+  {
+    "type": "get",
     "url": "/api/tags",
     "title": "Gets a list of Tags",
     "examples": [
@@ -26258,12 +27021,12 @@ define({ "api": [
   },
   {
     "type": "delete",
-    "url": "/api/openchannel/queues/{id}/teams",
+    "url": "/api/voice/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",
+        "content": "curl https://{domain}/api/voice/queues/{id}/teams -v -u {name}:{password} -X DELETE",
         "type": "json"
       }
     ],
@@ -26271,17 +27034,17 @@ define({ "api": [
     "group": "Teams",
     "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
     "version": "0.0.0",
-    "filename": "server/api/openchannelQueue/index.js",
+    "filename": "server/api/voiceQueue/index.js",
     "groupTitle": "Teams"
   },
   {
     "type": "delete",
-    "url": "/api/voice/queues/{id}/teams",
+    "url": "/api/sms/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",
+        "content": "curl https://{domain}/api/sms/queues/{id}/teams -v -u {name}:{password} -X DELETE",
         "type": "json"
       }
     ],
@@ -26289,17 +27052,17 @@ define({ "api": [
     "group": "Teams",
     "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
     "version": "0.0.0",
-    "filename": "server/api/voiceQueue/index.js",
+    "filename": "server/api/smsQueue/index.js",
     "groupTitle": "Teams"
   },
   {
     "type": "delete",
-    "url": "/api/sms/queues/{id}/teams",
-    "title": "Remove teams from a queue",
+    "url": "/api/voice/Prefixes/{id}/teams",
+    "title": "Remove teams from a voice prefix",
     "examples": [
       {
         "title": "Example usage:",
-        "content": "curl https://{domain}/api/sms/queues/{id}/teams -v -u {name}:{password} -X DELETE",
+        "content": "curl https://{domain}/api/voice/prefixes/{id}/teams -v -u {name}:{password} -X DELETE",
         "type": "json"
       }
     ],
@@ -26307,17 +27070,17 @@ define({ "api": [
     "group": "Teams",
     "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
     "version": "0.0.0",
-    "filename": "server/api/smsQueue/index.js",
+    "filename": "server/api/voicePrefix/index.js",
     "groupTitle": "Teams"
   },
   {
     "type": "delete",
-    "url": "/api/voice/Prefixes/{id}/teams",
-    "title": "Remove teams from a voice prefix",
+    "url": "/api/chat/queues/{id}/teams",
+    "title": "Remove teams from a queue",
     "examples": [
       {
         "title": "Example usage:",
-        "content": "curl https://{domain}/api/voice/prefixes/{id}/teams -v -u {name}:{password} -X DELETE",
+        "content": "curl https://{domain}/api/chat/queues/{id}/teams -v -u {name}:{password} -X DELETE",
         "type": "json"
       }
     ],
@@ -26325,17 +27088,17 @@ define({ "api": [
     "group": "Teams",
     "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
     "version": "0.0.0",
-    "filename": "server/api/voicePrefix/index.js",
+    "filename": "server/api/chatQueue/index.js",
     "groupTitle": "Teams"
   },
   {
     "type": "delete",
-    "url": "/api/chat/queues/{id}/teams",
+    "url": "/api/mail/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",
+        "content": "curl https://{domain}/api/mail/queues/{id}/teams -v -u {name}:{password} -X DELETE",
         "type": "json"
       }
     ],
@@ -26343,7 +27106,7 @@ define({ "api": [
     "group": "Teams",
     "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
     "version": "0.0.0",
-    "filename": "server/api/chatQueue/index.js",
+    "filename": "server/api/mailQueue/index.js",
     "groupTitle": "Teams"
   },
   {
@@ -26366,12 +27129,12 @@ define({ "api": [
   },
   {
     "type": "delete",
-    "url": "/api/mail/queues/{id}/teams",
+    "url": "/api/openchannel/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",
+        "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -v -u {name}:{password} -X DELETE",
         "type": "json"
       }
     ],
@@ -26379,7 +27142,7 @@ define({ "api": [
     "group": "Teams",
     "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
     "version": "0.0.0",
-    "filename": "server/api/mailQueue/index.js",
+    "filename": "server/api/openchannelQueue/index.js",
     "groupTitle": "Teams"
   },
   {
@@ -28560,6 +29323,24 @@ define({ "api": [
     "groupTitle": "User_Profiles"
   },
   {
+    "type": "put",
+    "url": "/api/user-settings/{id}",
+    "title": "Update an existing User Setting",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/user-settings/{id} -d '{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X PUT",
+        "type": "json"
+      }
+    ],
+    "name": "updateUserSettings",
+    "group": "User_Settings",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/user-setting/index.js",
+    "groupTitle": "User_Settings"
+  },
+  {
     "type": "post",
     "url": "/api/users/{id}/chat_interactions",
     "title": "Add chat interaction tabs to an agent",
@@ -28777,24 +29558,6 @@ define({ "api": [
   },
   {
     "type": "post",
-    "url": "/api/users/{id}/square_projects",
-    "title": "Add a Square Project to a user",
-    "examples": [
-      {
-        "title": "Example usage:",
-        "content": "curl https://{domain}/api/users/{id}/square_projects -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
-        "type": "json"
-      }
-    ],
-    "name": "AddSquareProjects",
-    "group": "Users",
-    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
-    "version": "0.0.0",
-    "filename": "server/api/user/index.js",
-    "groupTitle": "Users"
-  },
-  {
-    "type": "post",
     "url": "/api/users/{id}/teams",
     "title": "Add teams to an agent",
     "examples": [
@@ -29299,24 +30062,6 @@ define({ "api": [
   },
   {
     "type": "get",
-    "url": "/api/users/{id}/square_projects",
-    "title": "GetSquareProjects",
-    "examples": [
-      {
-        "title": "Example usage:",
-        "content": "curl https://{domain}/api/users/{id}/square_projects -v -u {name}:{password} -X GET",
-        "type": "json"
-      }
-    ],
-    "name": "GetSquareProjects",
-    "group": "Users",
-    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
-    "version": "0.0.0",
-    "filename": "server/api/user/index.js",
-    "groupTitle": "Users"
-  },
-  {
-    "type": "get",
     "url": "/api/users/{id}/teams",
     "title": "GetTeams",
     "examples": [
@@ -29677,24 +30422,6 @@ define({ "api": [
   },
   {
     "type": "delete",
-    "url": "/api/users/{id}/square_projects",
-    "title": "Removes a Square Project from a user",
-    "examples": [
-      {
-        "title": "Example usage:",
-        "content": "curl https://{domain}/api/users/{id}/square_projects?ids=1&ids=2 -v -u {name}:{password} -X DELETE",
-        "type": "json"
-      }
-    ],
-    "name": "RemoveSquareProjects",
-    "group": "Users",
-    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
-    "version": "0.0.0",
-    "filename": "server/api/user/index.js",
-    "groupTitle": "Users"
-  },
-  {
-    "type": "delete",
     "url": "/api/users/{id}/teams",
     "title": "Removes teams from an agent",
     "examples": [
@@ -29892,6 +30619,24 @@ define({ "api": [
     "groupTitle": "Users"
   },
   {
+    "type": "post",
+    "url": "/api/users/{id}/messengerSoundNotification",
+    "title": "MessengerSoundNotification",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/users/{id}/messengerSoundNotification -v -u {name}:{password} -X POST",
+        "type": "json"
+      }
+    ],
+    "name": "messengerSoundNotification",
+    "group": "Users",
+    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/user/index.js",
+    "groupTitle": "Users"
+  },
+  {
     "type": "put",
     "url": "/api/users/{id}",
     "title": "Update an existing User",
@@ -30254,6 +30999,24 @@ define({ "api": [
     "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 '{\"userDisposition\": \"OK\"}' -v -u {name}:{password} -X PUT",
+        "type": "json"
+      }
+    ],
+    "name": "update",
+    "group": "Voice_Call_Reports",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/voiceCallReport/index.js",
+    "groupTitle": "Voice_Call_Reports"
+  },
+  {
     "type": "post",
     "url": "/api/voice/chanspy",
     "title": "Creates a new ChanSpy",
@@ -32711,6 +33474,13 @@ define({ "api": [
             "optional": true,
             "field": "dialPredictiveIntervalMinThreshold",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Boolean",
+            "optional": true,
+            "field": "dialPreviewAutoRecallMe",
+            "description": ""
           }
         ]
       }
@@ -33365,37 +34135,37 @@ define({ "api": [
     "groupTitle": "Voice_Recordings"
   },
   {
-    "type": "get",
+    "type": "post",
     "url": "/api/voice/recordings/{id}/transcribe",
     "title": "Run Transcribe Recording",
     "examples": [
       {
         "title": "Example usage:",
-        "content": "curl https://{domain}/api/voice/recordings/{id}/transcribe -v -u {name}:{password} -X GET",
+        "content": "curl https://{domain}/api/voice/recordings/{id}/transcribe -d '{\"runSentiment\": \"true\"}' -v -u {name}:{password} -X POST",
         "type": "json"
       }
     ],
     "name": "transcribe",
     "group": "Voice_Recordings",
-    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
     "version": "0.0.0",
     "filename": "server/api/voiceRecording/index.js",
     "groupTitle": "Voice_Recordings"
   },
   {
-    "type": "post",
+    "type": "get",
     "url": "/api/voice/recordings/{id}/transcribe",
     "title": "Run Transcribe Recording",
     "examples": [
       {
         "title": "Example usage:",
-        "content": "curl https://{domain}/api/voice/recordings/{id}/transcribe -d '{\"runSentiment\": \"true\"}' -v -u {name}:{password} -X POST",
+        "content": "curl https://{domain}/api/voice/recordings/{id}/transcribe -v -u {name}:{password} -X GET",
         "type": "json"
       }
     ],
     "name": "transcribe",
     "group": "Voice_Recordings",
-    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
     "version": "0.0.0",
     "filename": "server/api/voiceRecording/index.js",
     "groupTitle": "Voice_Recordings"
@@ -34344,12 +35114,12 @@ define({ "api": [
   },
   {
     "type": "post",
-    "url": "/api/webbar/unhold",
-    "title": "unhold webrtc call",
+    "url": "/api/webbar/hold",
+    "title": "hold webrtc call",
     "examples": [
       {
         "title": "Example usage:",
-        "content": "curl https://{domain}/api/webbar/unhold -d '{\"sessionId\": \"<sessionId>\", \"userId\": 54}' \\\n -H \"Content-Type: application/json\" -X POST",
+        "content": "curl https://{domain}/api/webbar/hold -d '{\"sessionId\": \"<sessionId>\", \"userId\": 54}' \\\n -H \"Content-Type: application/json\" -X POST",
         "type": "json"
       }
     ],
@@ -34361,7 +35131,7 @@ define({ "api": [
           {
             "group": "Body",
             "type": "String",
-            "optional": false,
+            "optional": true,
             "field": "sessionId",
             "description": ""
           },
@@ -34382,12 +35152,12 @@ define({ "api": [
   },
   {
     "type": "post",
-    "url": "/api/webbar/hold",
-    "title": "hold webrtc call",
+    "url": "/api/webbar/unhold",
+    "title": "unhold webrtc call",
     "examples": [
       {
         "title": "Example usage:",
-        "content": "curl https://{domain}/api/webbar/hold -d '{\"sessionId\": \"<sessionId>\", \"userId\": 54}' \\\n -H \"Content-Type: application/json\" -X POST",
+        "content": "curl https://{domain}/api/webbar/unhold -d '{\"sessionId\": \"<sessionId>\", \"userId\": 54}' \\\n -H \"Content-Type: application/json\" -X POST",
         "type": "json"
       }
     ],
@@ -34399,7 +35169,7 @@ define({ "api": [
           {
             "group": "Body",
             "type": "String",
-            "optional": true,
+            "optional": false,
             "field": "sessionId",
             "description": ""
           },
@@ -34638,6 +35408,13 @@ define({ "api": [
           },
           {
             "group": "Body",
+            "type": "Integer",
+            "optional": true,
+            "field": "waitForTheAssignedQueue",
+            "description": ""
+          },
+          {
+            "group": "Body",
             "type": "Boolean",
             "optional": true,
             "field": "queueTransfer",