Built motion from commit 10af8726.|2.6.34
[motion2.git] / apidoc / api_data.js
index bfa991a..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": [
@@ -2184,6 +2290,20 @@ define({ "api": [
             "group": "Body",
             "type": "String",
             "optional": true,
+            "field": "secondDisposition",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "thirdDisposition",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
             "field": "note",
             "description": ""
           },
@@ -2302,6 +2422,13 @@ define({ "api": [
             "optional": true,
             "field": "vidaooSessionId",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Boolean",
+            "optional": true,
+            "field": "autoreplyExecuted",
+            "description": ""
           }
         ]
       }
@@ -2491,6 +2618,20 @@ define({ "api": [
             "optional": true,
             "field": "readAt",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "providerName",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Text",
+            "optional": true,
+            "field": "providerResponse",
+            "description": ""
           }
         ]
       }
@@ -2815,6 +2956,20 @@ define({ "api": [
             "optional": true,
             "field": "readAt",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "providerName",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Text",
+            "optional": true,
+            "field": "providerResponse",
+            "description": ""
           }
         ]
       }
@@ -4216,6 +4371,13 @@ define({ "api": [
           },
           {
             "group": "Body",
+            "type": "Integer",
+            "optional": true,
+            "field": "waitForTheAssignedQueue",
+            "description": ""
+          },
+          {
+            "group": "Body",
             "type": "String",
             "optional": true,
             "field": "alignment",
@@ -4232,6 +4394,13 @@ define({ "api": [
             "group": "Body",
             "type": "String",
             "optional": true,
+            "field": "labelText",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
             "field": "messagesAlignment",
             "description": ""
           },
@@ -4339,6 +4508,41 @@ define({ "api": [
             "optional": true,
             "field": "vidaooApiKey",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": false,
+            "field": "vidaooTopic",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "vidaooNote",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Text",
+            "optional": true,
+            "field": "vidaooMetadata",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Boolean",
+            "optional": true,
+            "field": "openNewInteraction",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Text",
+            "optional": true,
+            "field": "subjectOffline",
+            "description": ""
           }
         ]
       }
@@ -4679,6 +4883,25 @@ define({ "api": [
             "optional": false,
             "field": "name",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "allowedValues": [
+              "\"first\"",
+              "\"second\"",
+              "\"third\""
+            ],
+            "optional": false,
+            "field": "level",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "description",
+            "description": ""
           }
         ]
       }
@@ -4768,6 +4991,20 @@ define({ "api": [
             "group": "Body",
             "type": "String",
             "optional": true,
+            "field": "secondDisposition",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "thirdDisposition",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
             "field": "note",
             "description": ""
           },
@@ -4886,6 +5123,13 @@ define({ "api": [
             "optional": true,
             "field": "vidaooSessionId",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Boolean",
+            "optional": true,
+            "field": "autoreplyExecuted",
+            "description": ""
           }
         ]
       }
@@ -5369,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": [
@@ -5405,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": [
@@ -6005,6 +6596,60 @@ 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",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/cm/contacts/{id}/journey -v -u {name}:{password}  -X GET",
+        "type": "json"
+      }
+    ],
+    "name": "getJourney",
+    "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}/jscripty_sessions",
     "title": "Gets contact hopper blacks",
@@ -6060,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": [
@@ -6346,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": ""
           }
         ]
       }
@@ -7085,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",
@@ -7530,6 +8261,25 @@ define({ "api": [
             "optional": false,
             "field": "name",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "allowedValues": [
+              "\"first\"",
+              "\"second\"",
+              "\"third\""
+            ],
+            "optional": false,
+            "field": "level",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "description",
+            "description": ""
           }
         ]
       }
@@ -7595,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": [
@@ -7649,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": [
@@ -7721,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": [
@@ -8065,7 +8968,7 @@ define({ "api": [
           {
             "group": "Body",
             "type": "String",
-            "optional": true,
+            "optional": false,
             "field": "serverUrl",
             "description": ""
           },
@@ -8437,7 +9340,8 @@ define({ "api": [
               "\"string\"",
               "\"variable\"",
               "\"customVariable\"",
-              "\"keyValue\""
+              "\"keyValue\"",
+              "\"picklist\""
             ],
             "optional": true,
             "field": "type",
@@ -8606,6 +9510,25 @@ define({ "api": [
             "optional": false,
             "field": "name",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "allowedValues": [
+              "\"first\"",
+              "\"second\"",
+              "\"third\""
+            ],
+            "optional": false,
+            "field": "level",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "description",
+            "description": ""
           }
         ]
       }
@@ -8755,7 +9678,7 @@ define({ "api": [
           {
             "group": "Body",
             "type": "String",
-            "optional": true,
+            "optional": false,
             "field": "serverUrl",
             "description": ""
           },
@@ -9098,7 +10021,8 @@ define({ "api": [
               "\"string\"",
               "\"variable\"",
               "\"customVariable\"",
-              "\"keyValue\""
+              "\"keyValue\"",
+              "\"picklist\""
             ],
             "optional": true,
             "field": "type",
@@ -9426,6 +10350,13 @@ define({ "api": [
           },
           {
             "group": "Body",
+            "type": "Integer",
+            "optional": true,
+            "field": "waitForTheAssignedQueue",
+            "description": ""
+          },
+          {
+            "group": "Body",
             "type": "Boolean",
             "optional": true,
             "field": "queueTransfer",
@@ -9672,12 +10603,12 @@ define({ "api": [
   },
   {
     "type": "post",
-    "url": "/api/fax/accounts/addaccountapplications",
-    "title": "Creates new account and applications",
+    "url": "/api/fax/accounts/{id}/applications",
+    "title": "Creates new 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",
+        "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"
       }
     ],
@@ -9731,12 +10662,12 @@ define({ "api": [
   },
   {
     "type": "post",
-    "url": "/api/fax/accounts/{id}/applications",
-    "title": "Creates new applications",
+    "url": "/api/fax/accounts/addaccountapplications",
+    "title": "Creates new account and 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",
+        "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"
       }
     ],
@@ -9810,6 +10741,25 @@ define({ "api": [
             "optional": false,
             "field": "name",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "allowedValues": [
+              "\"first\"",
+              "\"second\"",
+              "\"third\""
+            ],
+            "optional": false,
+            "field": "level",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "description",
+            "description": ""
           }
         ]
       }
@@ -9860,6 +10810,20 @@ define({ "api": [
             "group": "Body",
             "type": "String",
             "optional": true,
+            "field": "secondDisposition",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "thirdDisposition",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
             "field": "note",
             "description": ""
           },
@@ -10289,6 +11253,20 @@ define({ "api": [
             "group": "Body",
             "type": "String",
             "optional": true,
+            "field": "secondDisposition",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "thirdDisposition",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
             "field": "note",
             "description": ""
           },
@@ -11331,7 +12309,7 @@ define({ "api": [
           {
             "group": "Body",
             "type": "String",
-            "optional": true,
+            "optional": false,
             "field": "serverUrl",
             "description": ""
           }
@@ -11692,7 +12670,8 @@ define({ "api": [
               "\"string\"",
               "\"variable\"",
               "\"customVariable\"",
-              "\"keyValue\""
+              "\"keyValue\"",
+              "\"picklist\""
             ],
             "optional": true,
             "field": "type",
@@ -11893,7 +12872,7 @@ define({ "api": [
           {
             "group": "Body",
             "type": "String",
-            "optional": true,
+            "optional": false,
             "field": "serverUrl",
             "description": ""
           }
@@ -12218,7 +13197,8 @@ define({ "api": [
               "\"string\"",
               "\"variable\"",
               "\"customVariable\"",
-              "\"keyValue\""
+              "\"keyValue\"",
+              "\"picklist\""
             ],
             "optional": true,
             "field": "type",
@@ -13763,7 +14743,7 @@ define({ "api": [
         "Body": [
           {
             "group": "Body",
-            "type": "String",
+            "type": "Text",
             "optional": true,
             "field": "question",
             "description": ""
@@ -13940,7 +14920,7 @@ define({ "api": [
         "Body": [
           {
             "group": "Body",
-            "type": "String",
+            "type": "Text",
             "optional": true,
             "field": "question",
             "description": ""
@@ -14534,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",
@@ -15081,6 +16079,25 @@ define({ "api": [
             "optional": false,
             "field": "name",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "allowedValues": [
+              "\"first\"",
+              "\"second\"",
+              "\"third\""
+            ],
+            "optional": false,
+            "field": "level",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "description",
+            "description": ""
           }
         ]
       }
@@ -15131,6 +16148,20 @@ define({ "api": [
             "group": "Body",
             "type": "String",
             "optional": true,
+            "field": "secondDisposition",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "thirdDisposition",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
             "field": "note",
             "description": ""
           },
@@ -15221,16 +16252,9 @@ define({ "api": [
           },
           {
             "group": "Body",
-            "type": "Text",
-            "optional": true,
-            "field": "lastMsgBody",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Text",
+            "type": "Boolean",
             "optional": true,
-            "field": "lastMsgText",
+            "field": "autoreplyExecuted",
             "description": ""
           }
         ]
@@ -15516,6 +16540,20 @@ define({ "api": [
             "group": "Body",
             "type": "String",
             "optional": true,
+            "field": "secondDisposition",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "thirdDisposition",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
             "field": "note",
             "description": ""
           },
@@ -15606,16 +16644,9 @@ define({ "api": [
           },
           {
             "group": "Body",
-            "type": "Text",
-            "optional": true,
-            "field": "lastMsgBody",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Text",
+            "type": "Boolean",
             "optional": true,
-            "field": "lastMsgText",
+            "field": "autoreplyExecuted",
             "description": ""
           }
         ]
@@ -15847,6 +16878,17 @@ define({ "api": [
             "optional": true,
             "field": "originCc",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "allowedValues": [
+              "\"Email\"",
+              "\"Chat\""
+            ],
+            "optional": false,
+            "field": "originChannel",
+            "description": ""
           }
         ]
       }
@@ -17074,24 +18116,6 @@ define({ "api": [
   },
   {
     "type": "post",
-    "url": "/api/notifications",
-    "title": "Send notification to user",
-    "examples": [
-      {
-        "title": "Example usage:",
-        "content": "curl https://{domain}/api/notifications -d '{\"text\": \"Hello!\", \"TemplateId\": 1}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
-        "type": "json"
-      }
-    ],
-    "name": "Send",
-    "group": "Notifications",
-    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
-    "version": "0.0.0",
-    "filename": "server/api/notification/index.js",
-    "groupTitle": "Notifications"
-  },
-  {
-    "type": "post",
     "url": "/api/openchannel/accounts/{id}/users",
     "title": "Add agents to a openchannel account",
     "examples": [
@@ -17189,6 +18213,13 @@ define({ "api": [
           },
           {
             "group": "Body",
+            "type": "Integer",
+            "optional": true,
+            "field": "waitForTheAssignedQueue",
+            "description": ""
+          },
+          {
+            "group": "Body",
             "type": "String",
             "optional": true,
             "field": "mapKey",
@@ -17521,6 +18552,25 @@ define({ "api": [
             "optional": false,
             "field": "name",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "allowedValues": [
+              "\"first\"",
+              "\"second\"",
+              "\"third\""
+            ],
+            "optional": false,
+            "field": "level",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "description",
+            "description": ""
           }
         ]
       }
@@ -17615,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"
@@ -17846,6 +18896,20 @@ define({ "api": [
             "group": "Body",
             "type": "String",
             "optional": true,
+            "field": "secondDisposition",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "thirdDisposition",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
             "field": "note",
             "description": ""
           },
@@ -17894,6 +18958,13 @@ define({ "api": [
             "optional": true,
             "field": "from",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Boolean",
+            "optional": true,
+            "field": "autoreplyExecuted",
+            "description": ""
           }
         ]
       }
@@ -18047,6 +19118,20 @@ define({ "api": [
             "optional": true,
             "field": "readAt",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "providerName",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Text",
+            "optional": true,
+            "field": "providerResponse",
+            "description": ""
           }
         ]
       }
@@ -18164,6 +19249,20 @@ define({ "api": [
             "optional": true,
             "field": "readAt",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "providerName",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Text",
+            "optional": true,
+            "field": "providerResponse",
+            "description": ""
           }
         ]
       }
@@ -19583,36 +20682,36 @@ define({ "api": [
   },
   {
     "type": "get",
-    "url": "/api/rpc/outbound",
-    "title": "Gets a list of RTOutbound",
+    "url": "/api/rpc/voice/queues",
+    "title": "Gets a list of RTVoiceQueues",
     "examples": [
       {
         "title": "Example usage:",
-        "content": "curl https://{domain}/api/rpc/outbound -v -u {name}:{password}",
+        "content": "curl https://{domain}/api/rpc/voice/queues -v -u {name}:{password}",
         "type": "json"
       }
     ],
     "name": "RTVoiceQueues",
     "group": "RPC_Realtime",
-    "description": "<p>Motion will return a list of realtime outbound parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "description": "<p>Motion will return a list of realtime voice queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
     "version": "0.0.0",
     "filename": "server/api/rpc/index.js",
     "groupTitle": "RPC_Realtime"
   },
   {
     "type": "get",
-    "url": "/api/rpc/voice/queues",
-    "title": "Gets a list of RTVoiceQueues",
+    "url": "/api/rpc/outbound",
+    "title": "Gets a list of RTOutbound",
     "examples": [
       {
         "title": "Example usage:",
-        "content": "curl https://{domain}/api/rpc/voice/queues -v -u {name}:{password}",
+        "content": "curl https://{domain}/api/rpc/outbound -v -u {name}:{password}",
         "type": "json"
       }
     ],
     "name": "RTVoiceQueues",
     "group": "RPC_Realtime",
-    "description": "<p>Motion will return a list of realtime voice queues parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "description": "<p>Motion will return a list of realtime outbound parameters.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
     "version": "0.0.0",
     "filename": "server/api/rpc/index.js",
     "groupTitle": "RPC_Realtime"
@@ -19744,6 +20843,24 @@ define({ "api": [
     "groupTitle": "RPC_Realtime"
   },
   {
+    "type": "put",
+    "url": "/api/rpc/voice/{id}/queues",
+    "title": "Updates a single VoiceQueue",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/rpc/voice/queues/{id} -v -u {name}:{password}",
+        "type": "json"
+      }
+    ],
+    "name": "UpdateVoiceQueues",
+    "group": "RPC_Realtime",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/rpc/index.js",
+    "groupTitle": "RPC_Realtime"
+  },
+  {
     "type": "post",
     "url": "/api/rpc/agents/:id/notify",
     "title": "Notify message to a specific agent",
@@ -19889,6 +21006,24 @@ define({ "api": [
   },
   {
     "type": "get",
+    "url": "/api/rpc/openchannel/queues/:id/waitinginteractions",
+    "title": "Gets a list of openchannelQueuesIdWaitingInteractions",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/rpc/openchannel/queues/:id/waitinginteractions -v -u {name}:{password}",
+        "type": "json"
+      }
+    ],
+    "name": "openchannelQueuesIdWaitingInteractions",
+    "group": "RPC_Realtime",
+    "description": "<p>Motion will return a list of realtime waiting openchannel queues interctions.</p> <p>Upon success Motion will return a HTTP status code <code>200 OK</code> if the entire collection was returned.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/rpc/index.js",
+    "groupTitle": "RPC_Realtime"
+  },
+  {
+    "type": "get",
     "url": "/api/rpc/openchannel/queues/waitinginteractions",
     "title": "Gets a list of openchannelQueuesWaitingInteractions",
     "examples": [
@@ -19942,6 +21077,42 @@ define({ "api": [
     "groupTitle": "RPC_Realtime"
   },
   {
+    "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": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/realtime/queues -v -u {name}:{password}  -X GET",
+        "type": "json"
+      }
+    ],
+    "name": "getQueues",
+    "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": "post",
     "url": "/api/integrations/salesforce/accounts",
     "title": "Creates a new Salesforce Account",
@@ -20016,7 +21187,7 @@ define({ "api": [
           {
             "group": "Body",
             "type": "String",
-            "optional": true,
+            "optional": false,
             "field": "serverUrl",
             "description": ""
           },
@@ -20212,7 +21383,9 @@ define({ "api": [
             "allowedValues": [
               "\"contact_lead\"",
               "\"contact\"",
-              "\"lead\""
+              "\"lead\"",
+              "\"account_contact_lead\"",
+              "\"account\""
             ],
             "optional": true,
             "field": "moduleSearch",
@@ -20224,11 +21397,40 @@ define({ "api": [
             "allowedValues": [
               "\"nothing\"",
               "\"contact\"",
-              "\"lead\""
+              "\"lead\"",
+              "\"account\""
             ],
             "optional": true,
             "field": "moduleCreate",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "leadId",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "additionalSearchAccount",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "additionalSearchContact",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "additionalSearchLead",
+            "description": ""
           }
         ]
       }
@@ -20387,7 +21589,8 @@ define({ "api": [
               "\"string\"",
               "\"variable\"",
               "\"customVariable\"",
-              "\"keyValue\""
+              "\"keyValue\"",
+              "\"picklist\""
             ],
             "optional": true,
             "field": "type",
@@ -21020,7 +22223,7 @@ define({ "api": [
           {
             "group": "Body",
             "type": "String",
-            "optional": true,
+            "optional": false,
             "field": "serverUrl",
             "description": ""
           }
@@ -21345,7 +22548,8 @@ define({ "api": [
               "\"string\"",
               "\"variable\"",
               "\"customVariable\"",
-              "\"keyValue\""
+              "\"keyValue\"",
+              "\"picklist\""
             ],
             "optional": true,
             "field": "type",
@@ -21602,6 +22806,24 @@ define({ "api": [
   },
   {
     "type": "get",
+    "url": "/api/settings/now",
+    "title": "Get Server Current Date",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/settings/now -v -X GET",
+        "type": "json"
+      }
+    ],
+    "name": "getDate",
+    "group": "Settings",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/setting/index.js",
+    "groupTitle": "Settings"
+  },
+  {
+    "type": "get",
     "url": "/api/settings/{id}/favicon",
     "title": "Get Favicon",
     "examples": [
@@ -21787,6 +23009,7 @@ define({ "api": [
               "\"clicksend\"",
               "\"plivo\"",
               "\"clickatell\"",
+              "\"bandwidth\"",
               "\"csc\"",
               "\"infobip\"",
               "\"intelepeer\""
@@ -21853,6 +23076,20 @@ define({ "api": [
             "group": "Body",
             "type": "String",
             "optional": true,
+            "field": "applicationId",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "accountId",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
             "field": "senderString",
             "description": ""
           },
@@ -21900,6 +23137,13 @@ define({ "api": [
           },
           {
             "group": "Body",
+            "type": "Integer",
+            "optional": true,
+            "field": "waitForTheAssignedQueue",
+            "description": ""
+          },
+          {
+            "group": "Body",
             "type": "Boolean",
             "optional": true,
             "field": "queueTransfer",
@@ -22250,6 +23494,25 @@ define({ "api": [
             "optional": false,
             "field": "name",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "allowedValues": [
+              "\"first\"",
+              "\"second\"",
+              "\"third\""
+            ],
+            "optional": false,
+            "field": "level",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "description",
+            "description": ""
           }
         ]
       }
@@ -22386,49 +23649,49 @@ define({ "api": [
     "groupTitle": "Sms_Accounts"
   },
   {
-    "type": "post",
-    "url": "/api/sms/messages/{id}/status",
-    "title": "Receive message status",
+    "type": "get",
+    "url": "/api/sms/accounts/{id}/status",
+    "title": "Receive message status as get request",
     "examples": [
       {
         "title": "Example usage:",
-        "content": "curl https://{domain}/api/sms/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 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/smsMessage/index.js",
+    "filename": "server/api/smsAccount/index.js",
     "groupTitle": "Sms_Accounts"
   },
   {
-    "type": "get",
+    "type": "post",
     "url": "/api/sms/accounts/{id}/status",
-    "title": "Receive message status as get request",
+    "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/accounts/{id}/status -H 'Content-Type: application/json' -v -X POST",
         "type": "json"
       }
     ],
     "name": "statusMessage",
     "group": "Sms_Accounts",
-    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <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",
     "groupTitle": "Sms_Accounts"
   },
   {
     "type": "post",
-    "url": "/api/sms/accounts/{id}/status",
+    "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 POST",
+        "content": "curl https://{domain}/api/sms/messages/{id}/status \\ \n -H 'Content-Type: application/json' -v -X POST",
         "type": "json"
       }
     ],
@@ -22436,7 +23699,7 @@ 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/smsAccount/index.js",
+    "filename": "server/api/smsMessage/index.js",
     "groupTitle": "Sms_Accounts"
   },
   {
@@ -22647,6 +23910,20 @@ define({ "api": [
             "group": "Body",
             "type": "String",
             "optional": true,
+            "field": "secondDisposition",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "thirdDisposition",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
             "field": "note",
             "description": ""
           },
@@ -22692,6 +23969,13 @@ define({ "api": [
             "optional": false,
             "field": "lastMsgDirection",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Boolean",
+            "optional": true,
+            "field": "autoreplyExecuted",
+            "description": ""
           }
         ]
       }
@@ -22859,6 +24143,20 @@ define({ "api": [
             "optional": true,
             "field": "secret",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "providerName",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Text",
+            "optional": true,
+            "field": "providerResponse",
+            "description": ""
           }
         ]
       }
@@ -22990,6 +24288,20 @@ define({ "api": [
             "optional": true,
             "field": "secret",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "providerName",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Text",
+            "optional": true,
+            "field": "providerResponse",
+            "description": ""
           }
         ]
       }
@@ -23951,6 +25263,20 @@ define({ "api": [
             "optional": false,
             "field": "direction",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "providerName",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Text",
+            "optional": true,
+            "field": "providerResponse",
+            "description": ""
           }
         ]
       }
@@ -24217,6 +25543,20 @@ define({ "api": [
             "optional": true,
             "field": "production",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "savedAt",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "publishedAt",
+            "description": ""
           }
         ]
       }
@@ -24281,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",
@@ -24505,12 +25791,12 @@ define({ "api": [
   },
   {
     "type": "delete",
-    "url": "/api/square/recordings/{id}/delete",
+    "url": "/api/square/recordings/{id}",
     "title": "Delete recording",
     "examples": [
       {
         "title": "Example usage:",
-        "content": "curl https://{domain}/api/square/recordings/{id}/delete -v -u {name}:{password} -X DELETE",
+        "content": "curl https://{domain}/api/square/recordings/{id} -v -u {name}:{password} -X DELETE",
         "type": "json"
       }
     ],
@@ -25017,7 +26303,7 @@ define({ "api": [
           {
             "group": "Body",
             "type": "String",
-            "optional": true,
+            "optional": false,
             "field": "serverUrl",
             "description": ""
           }
@@ -25232,7 +26518,8 @@ define({ "api": [
               "\"string\"",
               "\"variable\"",
               "\"customVariable\"",
-              "\"keyValue\""
+              "\"keyValue\"",
+              "\"picklist\""
             ],
             "optional": true,
             "field": "type",
@@ -25480,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": [
@@ -25698,12 +27003,12 @@ define({ "api": [
   },
   {
     "type": "delete",
-    "url": "/api/mail/queues/{id}/teams",
+    "url": "/api/whatsapp/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/whatsapp/queues/{id}/teams -v -u {name}:{password} -X DELETE",
         "type": "json"
       }
     ],
@@ -25711,17 +27016,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/mailQueue/index.js",
+    "filename": "server/api/whatsappQueue/index.js",
     "groupTitle": "Teams"
   },
   {
     "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"
       }
     ],
@@ -25729,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/whatsapp/queues/{id}/teams",
+    "url": "/api/sms/queues/{id}/teams",
     "title": "Remove teams from a queue",
     "examples": [
       {
         "title": "Example usage:",
-        "content": "curl https://{domain}/api/whatsapp/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"
       }
     ],
@@ -25747,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/whatsappQueue/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"
       }
     ],
@@ -25765,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/queues/{id}/teams",
+    "url": "/api/chat/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/chat/queues/{id}/teams -v -u {name}:{password} -X DELETE",
         "type": "json"
       }
     ],
@@ -25783,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/voiceQueue/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"
       }
     ],
@@ -25801,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"
   },
   {
@@ -25823,6 +27128,24 @@ define({ "api": [
     "groupTitle": "Teams"
   },
   {
+    "type": "delete",
+    "url": "/api/openchannel/queues/{id}/teams",
+    "title": "Remove teams from a queue",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -v -u {name}:{password} -X DELETE",
+        "type": "json"
+      }
+    ],
+    "name": "RemoveTeams",
+    "group": "Teams",
+    "description": "<p>Motion will return a HTTP status code <code>204</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/openchannelQueue/index.js",
+    "groupTitle": "Teams"
+  },
+  {
     "type": "get",
     "url": "/api/teams/{id}",
     "title": "Gets a single Team",
@@ -27375,6 +28698,24 @@ define({ "api": [
   },
   {
     "type": "post",
+    "url": "/api/userNotifications",
+    "title": "Send notification to user",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/userNotifications -d '{\"text\": \"Hello!\", \"TemplateId\": 1}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
+        "type": "json"
+      }
+    ],
+    "name": "Send",
+    "group": "UserNotifications",
+    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/userNotification/index.js",
+    "groupTitle": "UserNotifications"
+  },
+  {
+    "type": "post",
     "url": "/api/userProfile/resources",
     "title": "Creates a new User Profile Resource",
     "examples": [
@@ -27754,6 +29095,62 @@ define({ "api": [
             "optional": true,
             "field": "description",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Boolean",
+            "optional": true,
+            "field": "privacyEnabled",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Boolean",
+            "optional": true,
+            "field": "downloadAttachments",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Boolean",
+            "optional": true,
+            "field": "downloadCallySquareRecordings",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Boolean",
+            "optional": true,
+            "field": "downloadContactManagerLists",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Boolean",
+            "optional": true,
+            "field": "downloadJscriptySessions",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Boolean",
+            "optional": true,
+            "field": "downloadOmnichannelInteractions",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Boolean",
+            "optional": true,
+            "field": "downloadScreenRecordings",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Boolean",
+            "optional": true,
+            "field": "downloadVoiceRecordings",
+            "description": ""
           }
         ]
       }
@@ -27926,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",
@@ -28143,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": [
@@ -28214,1489 +29611,6 @@ define({ "api": [
     "groupTitle": "Users"
   },
   {
-    "type": "post",
-    "url": "/api/users/create_many",
-    "title": "Creates many Users",
-    "examples": [
-      {
-        "title": "Example usage:",
-        "content": "curl https://{domain}/api/users/create_many -d '[{\"key1\": \"value1\", \"key2\": \"value2\", \"...\": \"...\"}]' \\\n -H \"Content-Type: application/json\" -v -u {name}:{password} -X POST",
-        "type": "json"
-      }
-    ],
-    "name": "BulkCreateUsers",
-    "group": "Users",
-    "parameter": {
-      "fields": {
-        "Body": [
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": false,
-            "field": "name",
-            "description": "<p>The name of the user</p>"
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": false,
-            "field": "fullname",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "alias",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": false,
-            "field": "email",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"admin\"",
-              "\"user\"",
-              "\"agent\"",
-              "\"telephone\""
-            ],
-            "optional": false,
-            "field": "role",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": false,
-            "field": "password",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "provider",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": false,
-            "field": "internal",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "salt",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "phone",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "mobile",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "address",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "zipcode",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "userpic",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "city",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "country",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "online",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "lastLoginAt",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "voicePause",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "chatPause",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "mailPause",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "faxPause",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "smsPause",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "whatsappPause",
-            "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": "whatsappCapacity",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "openchannelCapacity",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "phoneBarAutoAnswer",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "phoneBarEnableSettings",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "phoneBarListenPort",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "phoneBarExpires",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "phoneBarRemoteControl",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "phoneBarRemoteControlPort",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "phoneBarEnableRecording",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "phoneBarRingInUse",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "chanspy",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "description",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "host",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "ipaddr",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "port",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "regseconds",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "fullcontact",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "regserver",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "useragent",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "lastms",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"friend\"",
-              "\"user\"",
-              "\"peer\""
-            ],
-            "optional": true,
-            "field": "type",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "context",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"ALLOWED_NOT_SCREENED\"",
-              "\"ALLOWED_PASSED_SCREEN\"",
-              "\"ALLOWED_FAILED_SCREEN\"",
-              "\"ALLOWED\"",
-              "\"PROHIB_NOT_SCREENED\"",
-              "\"PROHIB_PASSED_SCREEN\"",
-              "\"PROHIB_FAILED_SCREEN\"",
-              "\"PROHIB\""
-            ],
-            "optional": true,
-            "field": "callingpres",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "deny",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "permit",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "secret",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "md5secret",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "remotesecret",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "transport",
-            "description": "<p>String is deprecated. Please use an Array as [&quot;udp&quot;, &quot;tcp&quot;]</p>"
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"rfc2833\"",
-              "\"info\"",
-              "\"shortinfo\"",
-              "\"inband\"",
-              "\"auto\""
-            ],
-            "optional": true,
-            "field": "dtmfmode",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\"",
-              "\"nonat\"",
-              "\"update\"",
-              "\"outgoing\""
-            ],
-            "optional": true,
-            "field": "directmedia",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\""
-            ],
-            "optional": true,
-            "field": "directrtpsetup",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "directmediapermit",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "directmediadeny",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "nat",
-            "description": "<p>String is deprecated. Please use an Array as [&quot;force_rport&quot;, &quot;comedia&quot;]</p>"
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "callgroup",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "namedcallgroup",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "pickupgroup",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "namedpickupgroup",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "language",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "tonezone",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": false,
-            "field": "disallow",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": false,
-            "field": "allow",
-            "description": "<p>String is deprecated. Please use an Array as [&quot;ulaw&quot;, &quot;alaw&quot;, &quot;gsm&quot;]</p>"
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\""
-            ],
-            "optional": true,
-            "field": "autoframing",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "insecure",
-            "description": "<p>String is deprecated. Please use an Array as [&quot;port&quot;, &quot;invite&quot;]</p>"
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\""
-            ],
-            "optional": true,
-            "field": "trustrpid",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\""
-            ],
-            "optional": true,
-            "field": "trust_id_outbound",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\"",
-              "\"never\""
-            ],
-            "optional": true,
-            "field": "progressinband",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\""
-            ],
-            "optional": true,
-            "field": "promiscredir",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\""
-            ],
-            "optional": true,
-            "field": "useclientcode",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "accountcode",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "setvar",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "callerid",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "amaflags",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\""
-            ],
-            "optional": true,
-            "field": "callcounter",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "busylevel",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\""
-            ],
-            "optional": true,
-            "field": "allowoverlap",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\""
-            ],
-            "optional": true,
-            "field": "allowsubscribe",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\""
-            ],
-            "optional": true,
-            "field": "allowtransfer",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\""
-            ],
-            "optional": true,
-            "field": "ignoresdpversion",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "subscribecontext",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "template",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\"",
-              "\"always\""
-            ],
-            "optional": true,
-            "field": "videosupport",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "maxcallbitrate",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\""
-            ],
-            "optional": true,
-            "field": "rfc2833compensate",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "mailbox",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"accept\"",
-              "\"refuse\"",
-              "\"originate\""
-            ],
-            "optional": true,
-            "field": "session_timers",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "session_expires",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "session_minse",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"uac\"",
-              "\"uas\""
-            ],
-            "optional": true,
-            "field": "session_refresher",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "t38pt_usertpsource",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "regexten",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "fromdomain",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "fromuser",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\""
-            ],
-            "optional": true,
-            "field": "qualify",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "keepalive",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "defaultip",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "defaultuser",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "rtptimeout",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "rtpholdtimeout",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "rtpkeepalive",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\""
-            ],
-            "optional": true,
-            "field": "sendrpid",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "outboundproxy",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "callbackextension",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "timert1",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "timerb",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "qualifyfreq",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "contactpermit",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "contactdeny",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "contactacl",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "unsolicited_mailbox",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "use_q850_reason",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "maxforwards",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\""
-            ],
-            "optional": true,
-            "field": "encryption",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\""
-            ],
-            "optional": true,
-            "field": "avpf",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\""
-            ],
-            "optional": true,
-            "field": "force_avp",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\""
-            ],
-            "optional": true,
-            "field": "icesupport",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\""
-            ],
-            "optional": true,
-            "field": "dtlsenable",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\"",
-              "\"fingerprint\"",
-              "\"certificate\""
-            ],
-            "optional": true,
-            "field": "dtlsverify",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "dtlsrekey",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "dtlscertfile",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "dtlsprivatekey",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "dtlscipher",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "dtlscafile",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "dtlscapath",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"active\"",
-              "\"passive\"",
-              "\"actpass\""
-            ],
-            "optional": true,
-            "field": "dtlssetup",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "dtlsfingerprint",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\""
-            ],
-            "optional": true,
-            "field": "usereqphone",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "recordonfeature",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "recordofffeature",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "call_limit",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\""
-            ],
-            "optional": true,
-            "field": "registertrying",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\""
-            ],
-            "optional": true,
-            "field": "subscribemwi",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "vmexten",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "mohinterpret",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "mohsuggest",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "parkinglot",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\"",
-              "\"nonat\"",
-              "\"update\"",
-              "\"update,nonat\""
-            ],
-            "optional": true,
-            "field": "canreinvite",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "loginInPause",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "resetPasswordToken",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "resetPasswordExpires",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "showWebBar",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Text",
-            "optional": true,
-            "field": "permissions",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "phoneBarUnconditionalNumber",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "phoneBarNoReplyNumber",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "phoneBarBusyNumber",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "phoneBarUnconditional",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "phoneBarNoReply",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "phoneBarBusy",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "phoneBarDnd",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "phoneBarUnansweredCallBadge",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "phoneBarEnableDtmfTone",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "phoneBarAutoAnswerDelay",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "extensionMonitor",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "crudPermissions",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "allowedValues": [
-              "\"yes\"",
-              "\"no\""
-            ],
-            "optional": true,
-            "field": "rtcp_mux",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "allowmessenger",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "phoneBarOutboundProxy",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "passwordResetAt",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "phoneBarEnableJaws",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "phoneBarEnableScreenRecordingByAgent",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Virtual",
-            "optional": true,
-            "field": "phoneBarEnableVideoRecording",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "phoneBarEnableAutomaticScreenRecording",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "phoneBarPrefixRequired",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "hotdesk",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "interface",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "privacyEnabled",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "apiKeyNonce",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "apiKeyIat",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "screenrecording",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "blocked",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "String",
-            "optional": true,
-            "field": "blockedAt",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Integer",
-            "optional": true,
-            "field": "loginAttempts",
-            "description": ""
-          },
-          {
-            "group": "Body",
-            "type": "Boolean",
-            "optional": true,
-            "field": "disabled",
-            "description": ""
-          }
-        ]
-      }
-    },
-    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
-    "version": "0.0.0",
-    "filename": "server/api/user/index.js",
-    "groupTitle": "Users"
-  },
-  {
     "type": "put",
     "url": "/api/users/{id}/password",
     "title": "Change user password",
@@ -30148,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": [
@@ -30526,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": [
@@ -30669,6 +30547,24 @@ define({ "api": [
     "groupTitle": "Users"
   },
   {
+    "type": "post",
+    "url": "/api/users/create_many",
+    "title": "Create Users",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/users/create_many -d '[{\"name\": \"john.doe\", \"role\": \"user\", \"...\": \"...\"}]' -v -u {name}:{password} -X POST",
+        "type": "json"
+      }
+    ],
+    "name": "bulkCreate",
+    "group": "Users",
+    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/user/index.js",
+    "groupTitle": "Users"
+  },
+  {
     "type": "get",
     "url": "/api/users/{id}/avatar",
     "title": "Get avatar",
@@ -30687,6 +30583,60 @@ define({ "api": [
     "groupTitle": "Users"
   },
   {
+    "type": "get",
+    "url": "/api/users/{id}/open_tabs",
+    "title": "Get interactions opened tabs",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/users/{id}/open_tabs -v -u {name}:{password} -X GET",
+        "type": "json"
+      }
+    ],
+    "name": "getOpenTabs",
+    "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/presence",
+    "title": "Gets agent presence",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/users/presence -v -u {name}:{password}  -X GET",
+        "type": "json"
+      }
+    ],
+    "name": "getPresence",
+    "group": "Users",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/user/index.js",
+    "groupTitle": "Users"
+  },
+  {
+    "type": "post",
+    "url": "/api/users/{id}/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",
@@ -31049,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",
@@ -32098,7 +32066,7 @@ define({ "api": [
           {
             "group": "Body",
             "type": "String",
-            "optional": false,
+            "optional": true,
             "field": "stamp",
             "description": ""
           }
@@ -32202,6 +32170,42 @@ define({ "api": [
   },
   {
     "type": "post",
+    "url": "/api/voice/prefixes/{id}/teams",
+    "title": "Add teams to voice prefix",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/voice/prefixes/{id}/teams -d '{\"ids\": [1,2]}' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST",
+        "type": "json"
+      }
+    ],
+    "name": "AddTeams",
+    "group": "Voice_Prefix",
+    "description": "<p>Motion will return a HTTP status code <code>201</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/voicePrefix/index.js",
+    "groupTitle": "Voice_Prefix"
+  },
+  {
+    "type": "get",
+    "url": "/api/voice/prefixes/{id}/teams",
+    "title": "Gets voice prefix team",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/voice/prefixes/{id}/teams -v -u {name}:{password}  -X GET",
+        "type": "json"
+      }
+    ],
+    "name": "GetTeams",
+    "group": "Voice_Prefix",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success. Motion return a HTTP status code <code>404</code> if the corresponding record could not be located.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/voicePrefix/index.js",
+    "groupTitle": "Voice_Prefix"
+  },
+  {
+    "type": "post",
     "url": "/api/voice/prefixes/{id}/users",
     "title": "Add agents to a prefix",
     "examples": [
@@ -33470,6 +33474,13 @@ define({ "api": [
             "optional": true,
             "field": "dialPredictiveIntervalMinThreshold",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Boolean",
+            "optional": true,
+            "field": "dialPreviewAutoRecallMe",
+            "description": ""
           }
         ]
       }
@@ -33897,6 +33908,20 @@ define({ "api": [
           },
           {
             "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "userSecondDisposition",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "userThirdDisposition",
+            "description": ""
+          },
+          {
+            "group": "Body",
             "type": "Text",
             "optional": true,
             "field": "location",
@@ -34110,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"
@@ -34376,6 +34401,24 @@ define({ "api": [
   },
   {
     "type": "get",
+    "url": "/api/voice/transfers/reports/describe",
+    "title": "Gets table info about Transfer Reports",
+    "examples": [
+      {
+        "title": "Example usage:",
+        "content": "curl https://{domain}/api/voice/transfers/reports/describe -v -u {name}:{password}",
+        "type": "json"
+      }
+    ],
+    "name": "DescribeTransfer_Reports",
+    "group": "Voice_Transfer_Reports",
+    "description": "<p>Motion will return a HTTP status code <code>200</code> upon success.</p> <p>Motion renders the resulting JSON representation in the response body.</p>",
+    "version": "0.0.0",
+    "filename": "server/api/voiceTransferReport/index.js",
+    "groupTitle": "Voice_Transfer_Reports"
+  },
+  {
+    "type": "get",
     "url": "/api/voice/transfers/reports",
     "title": "Gets a list of Transfer Reports",
     "examples": [
@@ -34482,7 +34525,7 @@ define({ "api": [
           {
             "group": "Body",
             "type": "String",
-            "optional": true,
+            "optional": false,
             "field": "serverUrl",
             "description": ""
           },
@@ -34814,7 +34857,8 @@ define({ "api": [
               "\"string\"",
               "\"variable\"",
               "\"customVariable\"",
-              "\"keyValue\""
+              "\"keyValue\"",
+              "\"picklist\""
             ],
             "optional": true,
             "field": "type",
@@ -35364,6 +35408,13 @@ define({ "api": [
           },
           {
             "group": "Body",
+            "type": "Integer",
+            "optional": true,
+            "field": "waitForTheAssignedQueue",
+            "description": ""
+          },
+          {
+            "group": "Body",
             "type": "Boolean",
             "optional": true,
             "field": "queueTransfer",
@@ -35714,6 +35765,25 @@ define({ "api": [
             "optional": false,
             "field": "name",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "allowedValues": [
+              "\"first\"",
+              "\"second\"",
+              "\"third\""
+            ],
+            "optional": false,
+            "field": "level",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "description",
+            "description": ""
           }
         ]
       }
@@ -36057,6 +36127,20 @@ define({ "api": [
             "group": "Body",
             "type": "String",
             "optional": true,
+            "field": "secondDisposition",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "thirdDisposition",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
             "field": "note",
             "description": ""
           },
@@ -36102,6 +36186,13 @@ define({ "api": [
             "optional": false,
             "field": "lastMsgDirection",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Boolean",
+            "optional": true,
+            "field": "autoreplyExecuted",
+            "description": ""
           }
         ]
       }
@@ -36269,6 +36360,20 @@ define({ "api": [
             "optional": true,
             "field": "secret",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "providerName",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Text",
+            "optional": true,
+            "field": "providerResponse",
+            "description": ""
           }
         ]
       }
@@ -36400,6 +36505,20 @@ define({ "api": [
             "optional": true,
             "field": "secret",
             "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "String",
+            "optional": true,
+            "field": "providerName",
+            "description": ""
+          },
+          {
+            "group": "Body",
+            "type": "Text",
+            "optional": true,
+            "field": "providerResponse",
+            "description": ""
           }
         ]
       }
@@ -37129,7 +37248,7 @@ define({ "api": [
           {
             "group": "Body",
             "type": "String",
-            "optional": true,
+            "optional": false,
             "field": "serverUrl",
             "description": ""
           },
@@ -37501,7 +37620,8 @@ define({ "api": [
               "\"string\"",
               "\"variable\"",
               "\"customVariable\"",
-              "\"keyValue\""
+              "\"keyValue\"",
+              "\"picklist\""
             ],
             "optional": true,
             "field": "type",
@@ -37709,7 +37829,7 @@ define({ "api": [
           {
             "group": "Body",
             "type": "String",
-            "optional": true,
+            "optional": false,
             "field": "serverUrl",
             "description": ""
           },
@@ -38072,7 +38192,8 @@ define({ "api": [
               "\"string\"",
               "\"variable\"",
               "\"customVariable\"",
-              "\"keyValue\""
+              "\"keyValue\"",
+              "\"picklist\""
             ],
             "optional": true,
             "field": "type",